Skip to content

Commit 3410685

Browse files
committed
Fix pointer aliasing issue in catalog output.
1 parent 5ca8515 commit 3410685

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

doc/src/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
# There are two options for replacing |today|: either, you set today to some
8282
# non-false value, then it is used:
8383
#
84-
today = 'Wed Apr 09 2025'
84+
today = 'Fri Jan 23 2026'
8585
#
8686
# Else, today_fmt is used as the format for a strftime call.
8787
#

src/catout.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
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
*
@@ -22,7 +24,7 @@
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,
6163
OUTPUT -.
6264
NOTES Global preferences are used.
6365
AUTHOR E. Bertin (IAP)
64-
VERSION 28/06/2020
66+
VERSION 23/01/2026
6567
*/
6668
void 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,
355355
OUTPUT -.
356356
NOTES Global preferences are used.
357357
AUTHOR E. Bertin (IAP)
358-
VERSION 12/11/2013
358+
VERSION 23/01/2026
359359
*/
360360
void 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

Comments
 (0)