77*
88* This file part of: SCAMP
99*
10- * Copyright: (C) 2002-2020 IAP/CNRS/SorbonneU
10+ * Copyright: (C) 2002-2021 IAP/CNRS/SorbonneU
11+ * (C) 2021-2023 CFHT/CNRS
12+ * (C) 2023-2026 CEA/AIM/UParisSaclay
1113*
1214* License: GNU General Public License
1315*
2224* You should have received a copy of the GNU General Public License
2325* along with SCAMP. If not, see <http://www.gnu.org/licenses/>.
2426*
25- * Last modified: 28/06/2020
27+ * Last modified: 23/01/2026
2628*
2729*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
2830
@@ -61,7 +63,7 @@ INPUT File name,
6163OUTPUT -.
6264NOTES Global preferences are used.
6365AUTHOR E. Bertin (IAP)
64- VERSION 28/06/2020
66+ VERSION 23/01/2026
6567*/
6668void writemergedcat_fgroup (char * filename , fgroupstruct * fgroup )
6769
@@ -93,7 +95,6 @@ void writemergedcat_fgroup(char *filename, fgroupstruct *fgroup)
9395 weight ,weights , dummy ;
9496 char str [80 ],
9597 * buf , * rfilename ;
96- long dptr ;
9798 unsigned short sexflagmask ;
9899 unsigned int imaflagmask ;
99100 int nmag [MAXPHOTINSTRU ],
@@ -113,7 +114,6 @@ void writemergedcat_fgroup(char *filename, fgroupstruct *fgroup)
113114 objtab = new_tab ("LDAC_OBJECTS" );
114115/* Set key pointers */
115116 QCALLOC (objkeys , keystruct , (sizeof (refmergedkey ) / sizeof (keystruct )));
116- dptr = (long )((char * )& mergedsample - (char * )& refmergedsample );
117117 for (k = 0 ; refmergedkey [k ].name [0 ]; k ++ )
118118 {
119119 if (!prefs .spread_flag
@@ -122,7 +122,7 @@ void writemergedcat_fgroup(char *filename, fgroupstruct *fgroup)
122122 objkeys [k ] = refmergedkey [k ];
123123 key = objkeys + k ;
124124/*-- A trick to access the fields of the dynamic mergedsample structure */
125- key -> ptr = (void * )((char * )key -> ptr + dptr );
125+ key -> ptr = (void * )((char * )key -> ptr - ( char * ) & refmergedsample + ( char * ) & mergedsample );
126126 key -> nbytes = t_size [key -> ttype ]* (key -> naxis ? * key -> naxisn : 1 );
127127 add_key (key ,objtab , 0 );
128128 }
@@ -355,7 +355,7 @@ INPUT File name,
355355OUTPUT -.
356356NOTES Global preferences are used.
357357AUTHOR E. Bertin (IAP)
358- VERSION 12/11/2013
358+ VERSION 23/01/2026
359359*/
360360void writefullcat_fgroup (char * filename , fgroupstruct * fgroup )
361361
@@ -381,7 +381,6 @@ void writefullcat_fgroup(char *filename, fgroupstruct *fgroup)
381381 mag , magerr ,epoch ;
382382 char str [80 ],
383383 * buf , * rfilename ;
384- long dptr ;
385384 int nmag [MAXPHOTINSTRU ],
386385 d ,i ,k ,m ,n ,p ,nm , npinstru , naxis , index ;
387386
@@ -394,7 +393,6 @@ void writefullcat_fgroup(char *filename, fgroupstruct *fgroup)
394393 objtab = new_tab ("LDAC_OBJECTS" );
395394/* Set key pointers */
396395 QCALLOC (objkeys , keystruct , (sizeof (reffullkey ) / sizeof (keystruct )));
397- dptr = (long )((char * )& fsample - (char * )& reffullsample );
398396 for (k = 0 ; reffullkey [k ].name [0 ]; k ++ )
399397 {
400398 if (!prefs .spread_flag
@@ -403,7 +401,7 @@ void writefullcat_fgroup(char *filename, fgroupstruct *fgroup)
403401 objkeys [k ] = reffullkey [k ];
404402 key = objkeys + k ;
405403/*-- A trick to access the fields of the dynamic fullsample structure */
406- key -> ptr = (void * )((char * )key -> ptr + dptr );
404+ key -> ptr = (void * )((char * )key -> ptr - ( char * ) & reffullsample + ( char * ) & fsample );
407405 key -> nbytes = t_size [key -> ttype ]* (key -> naxis ? * key -> naxisn : 1 );
408406 add_key (key ,objtab , 0 );
409407 }
0 commit comments