Changeset 38553 for trunk/Ohana/src/libdvo
- Timestamp:
- Jun 25, 2015, 10:41:05 PM (11 years ago)
- Location:
- trunk/Ohana/src/libdvo
- Files:
-
- 23 edited
-
include/cmf-ps1-v5-r2-lensing.h (modified) (1 diff)
-
include/convert.h (modified) (1 diff)
-
include/dvo.h (modified) (2 diffs)
-
src/HostTable.c (modified) (1 diff)
-
src/LoadImages.c (modified) (1 diff)
-
src/LoadPhotcodesFITS.c (modified) (2 diffs)
-
src/RegionHostTable.c (modified) (1 diff)
-
src/SavePhotcodesFITS.c (modified) (1 diff)
-
src/cmf-ps1-v5-r2-lensing.c (modified) (1 diff)
-
src/convert.c (modified) (9 diffs)
-
src/coordops.c (modified) (2 diffs)
-
src/dvo_catalog.c (modified) (5 diffs)
-
src/dvo_catalog_create.c (modified) (2 diffs)
-
src/dvo_catalog_split.c (modified) (12 diffs)
-
src/dvo_convert.c (modified) (1 diff)
-
src/dvo_convert_PS1_V5.c (modified) (3 diffs)
-
src/dvo_image.c (modified) (2 diffs)
-
src/dvo_photcode_ops.c (modified) (1 diff)
-
src/dvo_util.c (modified) (2 diffs)
-
src/skydb.c (modified) (4 diffs)
-
src/skyregion_gsc.c (modified) (17 diffs)
-
src/skyregion_io.c (modified) (5 diffs)
-
src/skyregion_ops.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/include/cmf-ps1-v5-r2-lensing.h
r37993 r38553 95 95 96 96 CMF_PS1_V5_R2_Lensing *gfits_table_get_CMF_PS1_V5_R2_Lensing (FTable *table, off_t *Ndata, char *swapped); 97 CMF_PS1_V5_R2_Lensing *gfits_table_get_CMF_PS1_V5_R2x_Lensing (FTable *ftable, off_t *Ndata, char *swapped); 98 97 99 int gfits_table_set_CMF_PS1_V5_R2_Lensing (FTable *ftable, CMF_PS1_V5_R2_Lensing *data, off_t Ndata); 98 100 int gfits_table_mkheader_CMF_PS1_V5_R2_Lensing (Header *header); -
trunk/Ohana/src/libdvo/include/convert.h
r31635 r38553 13 13 int hh_hms PROTO((double hh, int *hr, int *mn, double *sc)); 14 14 int dd_dms PROTO((double dd, int *dg, int *mn, double *sc)); 15 int hms_format PROTO((char *line, double value));16 int dms_format PROTO((char *line, double value));15 int hms_format PROTO((char *line, int length, double value)); 16 int dms_format PROTO((char *line, int length, double value)); 17 17 int hh_hm PROTO((double hh, int *hr, double *mn)); 18 18 int day_to_sec PROTO((char *string, time_t *second)); -
trunk/Ohana/src/libdvo/include/dvo.h
r38472 r38553 259 259 typedef struct { 260 260 off_t Nregions; 261 off_t Nalloc; 261 262 char **filename; 262 263 SkyRegion *regions; … … 920 921 PhotCodeData *GetPhotcodeTable (void); 921 922 void SetPhotcodeTable (PhotCodeData *); 923 void FreePhotcodeData (PhotCodeData *myPhotcodes); 924 void FreePhotcodeTable (void); 922 925 923 926 int *GetSecFiltMap(PhotCodeData *ouput, PhotCodeData* input); -
trunk/Ohana/src/libdvo/src/HostTable.c
r38441 r38553 62 62 char *filename = NULL; 63 63 64 ALLOCATE (filename, char, strlen(catdir) + strlen(rootname) + 2); // one slash and one EOL 65 sprintf (filename, "%s/%s", catdir, rootname); 64 int Nchar = strlen(catdir) + strlen(rootname) + 16; 65 ALLOCATE (filename, char, Nchar); // one slash and one EOL 66 snprintf (filename, Nchar, "%s/%s", catdir, rootname); 66 67 67 68 FILE *f = fopen (filename, "r"); -
trunk/Ohana/src/libdvo/src/LoadImages.c
r38441 r38553 23 23 24 24 catdir = dvo_get_catdir (); 25 s printf (filename, "%s/Images.dat", catdir);25 snprintf (filename, 256, "%s/Images.dat", catdir); 26 26 27 27 if (lastFilename) { -
trunk/Ohana/src/libdvo/src/LoadPhotcodesFITS.c
r38441 r38553 51 51 } \ 52 52 photcode = PhotCode_##FORMAT##_To_Internal (photcode_input, Ncode); \ 53 free (photcode_input); \54 53 } 55 54 … … 65 64 CONVERT_FORMAT("DVO_PHOTCODE_PS1_V4", PS1_V4); 66 65 CONVERT_FORMAT("DVO_PHOTCODE_PS1_V5", PS1_V5); 66 67 gfits_db_free (&db); 67 68 68 69 table = GetPhotcodeTable (); -
trunk/Ohana/src/libdvo/src/RegionHostTable.c
r37807 r38553 64 64 char *filename = NULL; 65 65 66 ALLOCATE (filename, char, strlen(catdir) + strlen(rootname) + 2); // one slash and one EOL 67 sprintf (filename, "%s/%s", catdir, rootname); 66 int Nchar = strlen(catdir) + strlen(rootname) + 16; 67 68 ALLOCATE (filename, char, Nchar); // one slash and one EOL 69 snprintf (filename, Nchar, "%s/%s", catdir, rootname); 68 70 69 71 FILE *f = fopen (filename, "r"); -
trunk/Ohana/src/libdvo/src/SavePhotcodesFITS.c
r38441 r38553 37 37 if (!gfits_db_save (&db)) return (FALSE); 38 38 if (!gfits_db_close (&db)) return (FALSE); 39 if (!gfits_db_free (&db)) return (FALSE); 39 40 40 41 free (photcode_output); -
trunk/Ohana/src/libdvo/src/cmf-ps1-v5-r2-lensing.c
r37992 r38553 480 480 } 481 481 482 /** ****/ 483 int fix_lensing (char *data, int Nrows) { 484 485 off_t i; 486 487 int Nbytes = sizeof (CMF_PS1_V5_R2_Lensing); 488 489 char buffer[64]; 490 491 char *ptr = data; 492 for (i = 0; i < Nrows; i++, ptr += Nbytes) { 493 // bytes 184 - 224 (exclusive) are now at 288 - 328 (exclusive) 494 memcpy (buffer, &ptr[288], 40); 495 memmove (&ptr[224], &ptr[184], 104); 496 memcpy (&ptr[184], buffer, 40); 497 } 498 return TRUE; 499 } 500 501 /**************************************/ 502 CMF_PS1_V5_R2_Lensing *gfits_table_get_CMF_PS1_V5_R2x_Lensing (FTable *ftable, off_t *Ndata, char *swapped) { 503 504 int Ncols; 505 CMF_PS1_V5_R2_Lensing *data; 506 507 Ncols = ftable[0].header[0].Naxis[0]; 508 if (Ncols != ST_SIZE) { 509 fprintf (stderr, "ERROR: mis-match in table size: width is %d but should be %d bytes\n", Ncols, ST_SIZE); 510 return NULL; 511 } 512 513 *Ndata = ftable[0].header[0].Naxis[1]; 514 515 fix_lensing (ftable[0].buffer, *Ndata); 516 data = (CMF_PS1_V5_R2_Lensing *) ftable[0].buffer; 517 if ((swapped == NULL) || (*swapped == FALSE)) { 518 if (!gfits_convert_CMF_PS1_V5_R2_Lensing ((unsigned char *) data, sizeof (CMF_PS1_V5_R2_Lensing), *Ndata, TRUE)) { 519 return NULL; 520 } 521 off_t i; 522 for (i = 0; i < *Ndata; i++) { 523 data[i].detID += 0x80000000; 524 data[i].flags += 0x80000000; 525 data[i].flags2 += 0x80000000; 526 data[i].nFrames += 0x8000; 527 } 528 // gfits_table_scale_data (ftable); 529 if (swapped != NULL) *swapped = TRUE; 530 } 531 return (data); 532 } 533 -
trunk/Ohana/src/libdvo/src/convert.c
r31635 r38553 46 46 } 47 47 48 int hms_format (char *line, double value) {48 int hms_format (char *line, int length, double value) { 49 49 50 50 int hr, mn; … … 54 54 hr = (int) value; 55 55 if (isnan (value)) 56 s printf (line, "xx:xx:xx.xx");56 snprintf (line, length, "xx:xx:xx.xx"); 57 57 else { 58 58 if (value < 0) { 59 s printf (line, "-%02d:%02d:%05.2f", abs(hr), mn, sc);59 snprintf (line, length, "-%02d:%02d:%05.2f", abs(hr), mn, sc); 60 60 } else { 61 s printf (line, "+%02d:%02d:%05.2f", hr, mn, sc);61 snprintf (line, length, "+%02d:%02d:%05.2f", hr, mn, sc); 62 62 } 63 63 } … … 65 65 } 66 66 67 int dms_format (char *line, double value) {67 int dms_format (char *line, int length, double value) { 68 68 69 69 int dg, mn; … … 72 72 dd_dms (value, &dg, &mn, &sc); 73 73 if (value < 0) { 74 s printf (line, "-%02d:%02d:%05.2f", abs(dg), mn, sc);74 snprintf (line, length, "-%02d:%02d:%05.2f", abs(dg), mn, sc); 75 75 } else { 76 s printf (line, "+%02d:%02d:%05.2f", dg, mn, sc);76 snprintf (line, length, "+%02d:%02d:%05.2f", dg, mn, sc); 77 77 } 78 78 return (TRUE); … … 134 134 ALLOCATE (line, char, 64); 135 135 gmt = gmtime (&second); 136 s printf (line, "%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);136 snprintf (line, 64, "%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 137 137 return (line); 138 138 } … … 148 148 switch (gmt[0].tm_wday) { 149 149 case 0: 150 s printf (line, "Sun@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);150 snprintf (line, 64, "Sun@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 151 151 break; 152 152 case 1: 153 s printf (line, "Mon@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);153 snprintf (line, 64, "Mon@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 154 154 break; 155 155 case 2: 156 s printf (line, "Tue@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);156 snprintf (line, 64, "Tue@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 157 157 break; 158 158 case 3: 159 s printf (line, "Wed@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);159 snprintf (line, 64, "Wed@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 160 160 break; 161 161 case 4: 162 s printf (line, "Thu@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);162 snprintf (line, 64, "Thu@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 163 163 break; 164 164 case 5: 165 s printf (line, "Fri@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);165 snprintf (line, 64, "Fri@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 166 166 break; 167 167 case 6: 168 s printf (line, "Sat@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);168 snprintf (line, 64, "Sat@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 169 169 break; 170 170 } … … 195 195 hh_hm (deg, &hr, &mn); 196 196 197 s printf (line, "%03d:%04.1f", abs(hr), mn);197 snprintf (line, 16, "%03d:%04.1f", abs(hr), mn); 198 198 return (line); 199 199 } … … 209 209 hh_hm (deg/15.0, &hr, &mn); 210 210 211 s printf (line, "%02d:%04.1f", abs(hr), mn);211 snprintf (line, 16, "%02d:%04.1f", abs(hr), mn); 212 212 return (line); 213 213 } … … 224 224 225 225 if (deg < 0) { 226 s printf (line, "-%02d:%04.1f", abs(hr), mn);226 snprintf (line, 16, "-%02d:%04.1f", abs(hr), mn); 227 227 } else { 228 s printf (line, "+%02d:%04.1f", hr, mn);228 snprintf (line, 16, "+%02d:%04.1f", hr, mn); 229 229 } 230 230 return (line); -
trunk/Ohana/src/libdvo/src/coordops.c
r38462 r38553 740 740 for (i = 0; i < 14; i++) { 741 741 char name[64]; 742 s printf (name, "PV2_%d", i);742 snprintf (name, 64, "PV2_%d", i); 743 743 if (i < 7) { 744 744 found = gfits_scan (header, name, "%f", 1, &coords[0].polyterms[0][i]); … … 834 834 if (!strncmp (coords[0].ctype, "SLAT", 4)) strcpy (csys, "SLON"); 835 835 if (!strcmp (csys, "NONE")) return (FALSE); 836 s printf (ctype, "%s-%s", csys, &coords[0].ctype[5]);836 snprintf (ctype, 16, "%s-%s", csys, &coords[0].ctype[5]); 837 837 gfits_modify (header, "CTYPE1", "%s", 1, ctype); 838 838 } -
trunk/Ohana/src/libdvo/src/dvo_catalog.c
r38462 r38553 85 85 86 86 // we can return a static string here unless we run multiple outputs threads at once 87 static char compress_string[16];88 87 char *dvo_catalog_compress_string (DVOCatCompress catcompress) { 89 88 char *compress_string = NULL; 90 89 switch (catcompress) { 91 90 case DVO_COMPRESS_NONE: 92 strcpy (compress_string,"NONE");91 compress_string = strcreate("NONE"); 93 92 break; 94 93 case DVO_COMPRESS_AUTO: 95 strcpy (compress_string,"AUTO");94 compress_string = strcreate("AUTO"); 96 95 break; 97 96 case DVO_COMPRESS_GZIP_1: 98 strcpy (compress_string,"GZIP_1");97 compress_string = strcreate("GZIP_1"); 99 98 break; 100 99 case DVO_COMPRESS_GZIP_2: 101 strcpy (compress_string,"GZIP_2");100 compress_string = strcreate("GZIP_2"); 102 101 break; 103 102 case DVO_COMPRESS_NONE_1: 104 strcpy (compress_string,"NONE_1");103 compress_string = strcreate("NONE_1"); 105 104 break; 106 105 case DVO_COMPRESS_NONE_2: 107 strcpy (compress_string,"NONE_2");106 compress_string = strcreate("NONE_2"); 108 107 break; 109 108 case DVO_COMPRESS_RICE_1: 110 strcpy (compress_string,"RICE_1");109 compress_string = strcreate("RICE_1"); 111 110 break; 112 111 default: … … 532 531 galphot->minorAxisErr = NAN; 533 532 galphot->theta = NAN; 534 galphot->theta _err= NAN;533 galphot->thetaErr = NAN; 535 534 galphot->index = NAN; 536 535 galphot->chisq = NAN; … … 541 540 galphot->catID = -1; 542 541 galphot->imageID = -1; 542 galphot->averef = 0; 543 543 544 544 galphot->photcode = 0; … … 1157 1157 return FALSE; 1158 1158 } 1159 1159 1160 int outStatus = TRUE; 1160 1161 status = unlink (tmpfilename); 1161 1162 if (status) { 1163 perror ("unlink: "); 1162 1164 fprintf (stderr, "failed to unlink catalog %s~\n", catalog->filename); 1163 returnFALSE;1165 outStatus = FALSE; 1164 1166 } 1165 1167 … … 1167 1169 if (catalog[0].measure_catalog != NULL) { 1168 1170 if (!dvo_catalog_unlink_backup (catalog[0].measure_catalog, FALSE)) { 1169 returnFALSE;1171 outStatus = FALSE; 1170 1172 } 1171 1173 } 1172 1174 if (catalog[0].missing_catalog != NULL) { 1173 1175 if (!dvo_catalog_unlink_backup (catalog[0].missing_catalog, FALSE)) { 1174 returnFALSE;1176 outStatus = FALSE; 1175 1177 } 1176 1178 } 1177 1179 if (catalog[0].secfilt_catalog != NULL) { 1178 1180 if (!dvo_catalog_unlink_backup (catalog[0].secfilt_catalog, FALSE)) { 1179 returnFALSE;1181 outStatus = FALSE; 1180 1182 } 1181 1183 } 1182 1184 if ((catalog[0].lensing_catalog != NULL) && (catalog[0].Nlensing_disk > 0)) { 1183 1185 if (!dvo_catalog_unlink_backup (catalog[0].lensing_catalog, FALSE)) { 1184 returnFALSE;1186 outStatus = FALSE; 1185 1187 } 1186 1188 } 1187 1189 if ((catalog[0].lensobj_catalog != NULL) && (catalog[0].Nlensobj_disk > 0)) { 1188 1190 if (!dvo_catalog_unlink_backup (catalog[0].lensobj_catalog, FALSE)) { 1189 returnFALSE;1191 outStatus = FALSE; 1190 1192 } 1191 1193 } 1192 1194 if ((catalog[0].starpar_catalog != NULL) && (catalog[0].Nstarpar_disk > 0)) { 1193 1195 if (!dvo_catalog_unlink_backup (catalog[0].starpar_catalog, FALSE)) { 1194 returnFALSE;1196 outStatus = FALSE; 1195 1197 } 1196 1198 } 1197 1199 if ((catalog[0].galphot_catalog != NULL) && (catalog[0].Ngalphot_disk > 0)) { 1198 1200 if (!dvo_catalog_unlink_backup (catalog[0].galphot_catalog, FALSE)) { 1199 returnFALSE;1200 } 1201 } 1202 } 1203 return TRUE;1204 } 1205 1206 1201 outStatus = FALSE; 1202 } 1203 } 1204 } 1205 return outStatus; 1206 } 1207 1208 -
trunk/Ohana/src/libdvo/src/dvo_catalog_create.c
r38441 r38553 105 105 char *path = pathname (catalog[0].filename); 106 106 char *root = filerootname (catalog[0].filename); 107 int length = strlen(path) + strlen(root) + 6; 107 108 int length = strlen(path) + strlen(root) + 16; 108 109 109 110 Catalog *subcat; … … 120 121 ALLOCATE (subcat->filename, char, length); 121 122 122 s printf (subcat->filename, "%s/%s.%s", path, root, ext);123 snprintf (subcat->filename, length, "%s/%s.%s", path, root, ext); 123 124 124 125 char *file = filebasename (subcat->filename); -
trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
r38441 r38553 90 90 int dvo_catalog_save_subcat (Catalog *catalog, FTable *ftable, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal) { 91 91 92 Matrix matrix; 93 94 if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE); 92 if (OHANA_MEMCHECK) ohana_memcheck (TRUE); 95 93 96 94 /* rewind file pointers and truncate (file is still open) */ … … 108 106 off_t fullsize = catalog->header.datasize; 109 107 108 # if (1) 110 109 // write the PHU matrix; this is probably a NOP, do I have to keep it in? 110 Matrix matrix; 111 111 gfits_create_matrix (&catalog->header, &matrix); 112 112 if (!gfits_fwrite_matrix (catalog->f, &matrix)) { … … 117 117 fullsize += matrix.datasize; 118 118 gfits_free_matrix (&matrix); 119 # endif 119 120 120 121 FTable *outtable = ftable; … … 128 129 int isCompressed = output_is_compressed (start, Nrows, Ntotal, catalog->catcompress); 129 130 130 if (OHANA_MEMCHECK) ohana_memcheck _func(TRUE);131 if (OHANA_MEMCHECK) ohana_memcheck (TRUE); 131 132 132 133 if (isCompressed) { … … 136 137 if (!gfits_compress_table (ftable, &cmptable, 1000, compressMode)) { 137 138 fprintf (stderr, "compression failure\n"); 139 free (compressMode); 138 140 return (FALSE); 139 141 } 140 142 if (!byteswap_varlength_ftable (&cmpheader, &cmptable)) { 141 143 fprintf (stderr, "failed to swap varlength column\n"); 144 free (compressMode); 142 145 return FALSE; 143 146 } 144 147 if (!gfits_modify (cmptable.header, "DVO_CMP", "%s", 1, compressMode)) { 145 148 fprintf (stderr, "can't save compression mode\n"); 146 return (FALSE); 147 } 149 free (compressMode); 150 return (FALSE); 151 } 152 free (compressMode); 148 153 outtable = &cmptable; 149 154 } 150 155 151 if (OHANA_MEMCHECK) ohana_memcheck _func(TRUE);156 if (OHANA_MEMCHECK) ohana_memcheck (TRUE); 152 157 153 158 // write the table data … … 169 174 fullsize += outtable->datasize + outtable->header->datasize; 170 175 171 if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE); 176 // XXX test of repeated failure 177 if (0) { 178 Matrix myMatrix; 179 180 // write the PHU matrix; this is probably a NOP, do I have to keep it in? 181 gfits_create_matrix (&catalog->header, &myMatrix); 182 183 int niter; 184 for (niter = 0; niter < 5; niter ++) { 185 char name[1024]; 186 snprintf (name, 1024, "%s.v.%d", catalog->filename, niter); 187 FILE *f = fopen (name, "w"); 188 189 myAssert (gfits_fwrite_header (f, &catalog->header), "failed to write header"); 190 myAssert (gfits_fwrite_matrix (f, &myMatrix), "failed to write matrix"); 191 myAssert (gfits_fwrite_Theader (f, outtable->header), "can't write table header"); 192 myAssert (gfits_fwrite_table (f, outtable), "can't write table data"); 193 myAssert (!fflush (f), "failed to flush"); 194 myAssert (!fclose (f), "failed to close"); 195 int fd = fileno(f); 196 myAssert (fsync(fd), "failed to sync"); 197 fprintf (stderr, "wrote to %s\n", name); 198 } 199 gfits_free_matrix (&myMatrix); 200 } 201 202 if (OHANA_MEMCHECK) ohana_memcheck (TRUE); 172 203 173 204 // since we init'ed the structures above, these operations are safe whether or not we compressed the table … … 191 222 off_t Nskip; 192 223 int status; 193 char *path, string[ 80];224 char *path, string[256]; 194 225 Catalog *subcat; 195 226 … … 215 246 return (DVO_CAT_OPEN_FAIL); 216 247 } 217 ALLOCATE (subcat[0].filename, char, strlen(path) + strlen(string) + 2); 218 sprintf (subcat[0].filename, "%s/%s", path, string); 248 int Nchar = strlen(path) + strlen(string) + 10; 249 ALLOCATE (subcat[0].filename, char, Nchar); 250 snprintf (subcat[0].filename, Nchar, "%s/%s", path, string); 219 251 free (path); 220 252 … … 282 314 } 283 315 284 char compressMode[ 80];316 char compressMode[256]; 285 317 if (!gfits_scan (ftable->header, "DVO_CMP", "%s", 1, compressMode)) { 286 318 strcpy (compressMode, "AUTO"); … … 759 791 } 760 792 793 # if (0) 794 void compare_file_ptr (FILE *copy_ptr, FILE *real_ptr, char *name) { 795 return; 796 797 int i; 798 799 char *real = (char *) real_ptr; 800 char *copy = (char *) copy_ptr; 801 802 for (i = 0; i < sizeof(FILE); i++, real++, copy++) { 803 if (*real != *copy) { 804 fprintf (stderr, "file pointers %s differ @ %d\n", name, (int) ((char *) real - (char *) real_ptr)); 805 } 806 } 807 } 808 # endif 809 761 810 /* save_catalog_split writes all data currently in memory to disk */ 762 811 int dvo_catalog_save_split (Catalog *catalog, char VERBOSE) { … … 845 894 goto failure; 846 895 } 896 847 897 gfits_free_header (&header); 848 898 gfits_free_table (&ftable); … … 887 937 goto failure; 888 938 } 939 889 940 gfits_free_header (&header); 890 941 gfits_free_table (&ftable); -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r38441 r38553 1035 1035 Nimage = theader[0].Naxis[1]; 1036 1036 1037 # define FORMAT_CASE(FORMAT, TYPE) \1038 case DVO_FORMAT_##FORMAT: {\1039 Image_##TYPE *tmpImage;\1037 # define FORMAT_CASE(FORMAT, TYPE) \ 1038 case DVO_FORMAT_##FORMAT: { \ 1039 Image_##TYPE *tmpImage; \ 1040 1040 tmpImage = ImageInternalTo_##TYPE ((Image *) ftable[0].buffer, Nimage); \ 1041 free (ftable[0].buffer); \ 1042 gfits_table_set_Image_##TYPE (ftable, tmpImage, Nimage, TRUE); \ 1043 free (tmpImage); \ 1044 break; } 1041 free (ftable[0].buffer); \ 1042 gfits_free_header (ftable->header); \ 1043 gfits_table_set_Image_##TYPE (ftable, tmpImage, Nimage, TRUE); \ 1044 free (tmpImage); \ 1045 break; } 1045 1046 1046 1047 /* convert from the internal format */ -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c
r38462 r38553 990 990 991 991 out[i].Xfit = in[i].Xfit; 992 out[i]. Yfit = in[i]. Yfit; 993 out[i]. mag = in[i]. mag; 994 out[i]. magErr = in[i]. magErr; 995 out[i]. majorAxis = in[i]. majorAxis; 996 out[i]. minorAxis = in[i]. minorAxis; 997 out[i]. majorAxisErr = in[i]. majorAxisErr; 998 out[i]. minorAxisErr = in[i]. minorAxisErr; 999 out[i]. theta = in[i]. theta; 1000 out[i]. theta_err = in[i]. theta_err; 1001 out[i]. index = in[i]. index; 1002 out[i]. chisq = in[i]. chisq; 1003 out[i]. Npix = in[i]. Npix; 1004 out[i]. objID = in[i]. objID; 1005 out[i]. catID = in[i]. catID; 1006 out[i]. detID = in[i]. detID; 1007 out[i]. imageID = in[i]. imageID; 1008 out[i]. photcode = in[i]. photcode; 1009 out[i]. modelType = in[i]. modelType; 992 out[i].Yfit = in[i].Yfit; 993 out[i].mag = in[i].mag; 994 out[i].magErr = in[i].magErr; 995 out[i].majorAxis = in[i].majorAxis; 996 out[i].minorAxis = in[i].minorAxis; 997 out[i].majorAxisErr = in[i].majorAxisErr; 998 out[i].minorAxisErr = in[i].minorAxisErr; 999 out[i].theta = in[i].theta; 1000 out[i].thetaErr = in[i].thetaErr; 1001 out[i].index = in[i].index; 1002 out[i].chisq = in[i].chisq; 1003 out[i].Npix = in[i].Npix; 1004 out[i].objID = in[i].objID; 1005 out[i].catID = in[i].catID; 1006 out[i].detID = in[i].detID; 1007 out[i].imageID = in[i].imageID; 1008 out[i].averef = in[i].averef; 1009 out[i].photcode = in[i].photcode; 1010 out[i].modelType = in[i].modelType; 1010 1011 } 1011 1012 return (out); … … 1029 1030 out[i].minorAxisErr = in[i].minorAxisErr; 1030 1031 out[i].theta = in[i].theta; 1031 out[i].theta _err = in[i].theta_err;1032 out[i].thetaErr = in[i].thetaErr; 1032 1033 out[i].index = in[i].index; 1033 1034 out[i].chisq = in[i].chisq; … … 1037 1038 out[i].detID = in[i].detID; 1038 1039 out[i].imageID = in[i].imageID; 1040 out[i].averef = in[i].averef; 1039 1041 out[i].photcode = in[i].photcode; 1040 1042 out[i].modelType = in[i].modelType; -
trunk/Ohana/src/libdvo/src/dvo_image.c
r38441 r38553 231 231 int dvo_image_createID (Header *header) { 232 232 233 char dbID[ 33];233 char dbID[64]; 234 234 235 235 if (!header->buffer) return FALSE; … … 259 259 int i; 260 260 for (i = 0; i < 32; i++) { 261 sprintf (&dbID[i], "%1x", (int)(16.0*drand48()));261 myAssert (snprintf (&dbID[i], 2, "%1x", (int)(16.0*drand48())) < 2, "overflow"); 262 262 } 263 263 -
trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
r38153 r38553 43 43 } 44 44 45 // set the photcode table. This is used to switch between serveral previously 45 // free a specified photcode set 46 void FreePhotcodeData (PhotCodeData *myPhotcodes) { 47 if (!myPhotcodes) return; 48 FREE(myPhotcodes->code); 49 FREE(myPhotcodes); 50 } 51 52 // free the internal table 53 void FreePhotcodeTable (void) { 54 FreePhotcodeData (photcodes); 55 FREE(genericCodeMag); 56 FREE(genericCodeFlux); 57 } 58 59 // set the photcode table. This is used to switch between several previously 46 60 // allocated tables 47 61 void SetPhotcodeTable (PhotCodeData *new) { -
trunk/Ohana/src/libdvo/src/dvo_util.c
r38471 r38553 63 63 } 64 64 65 s printf (dvoConfig->photcodeFile, "%s/Photcodes.dat", dvoConfig->catdir);65 snprintf (dvoConfig->photcodeFile, 256, "%s/Photcodes.dat", dvoConfig->catdir); 66 66 if (!LoadPhotcodes (dvoConfig->photcodeFile, MasterPhotcodeFile, FALSE)) { 67 67 fprintf (stderr, "error loading photcode table %s or master file %s\n", … … 101 101 char filename[256]; 102 102 103 s printf (filename, "%s/Images.dat", dvoConfig->catdir);103 snprintf (filename, 256, "%s/Images.dat", dvoConfig->catdir); 104 104 105 105 gfits_db_init (&dvoConfig->imageDB); -
trunk/Ohana/src/libdvo/src/skydb.c
r19823 r38553 224 224 /* north dec bands */ 225 225 for (dec = 0; dec < 90; dec += 7.5) { 226 sprintf (db[N].name, "n%04d.cpt", (int) 100*dec);226 myAssert (snprintf (db[N].name, 18, "n%04d.cpt", (int) 100*dec) < 18, "overflow"); 227 227 db[N].Rmin = 0; db[N].Rmax = 360; 228 228 db[N].Dmin = dec; db[N].Dmax = dec + 7.5; … … 233 233 /* south dec bands */ 234 234 for (dec = 0; dec > -90; dec -= 7.5) { 235 sprintf (db[N].name, "s%04d.cpt", (int) 100*dec);235 myAssert (snprintf (db[N].name, 18, "s%04d.cpt", (int) 100*dec) < 18, "overflow"); 236 236 db[N].Rmin = 0; db[N].Rmax = 360; 237 237 db[N].Dmin = dec - 7.5; db[N].Dmax = dec; … … 276 276 new[Nnew].child = FALSE; 277 277 strncpy (root, db[i].name, 5); root[5] = 0; 278 sprintf (new[Nnew].name, "%s/r%04d.cpt", root, Rnumber);278 myAssert (snprintf (new[Nnew].name, 18, "%s/r%04d.cpt", root, Rnumber) < 18, "overflow"); 279 279 Rnumber ++; 280 280 Nnew ++; … … 365 365 db[N].child = FALSE; 366 366 strncpy (root, db[i].name, 10); root[10] = 0; 367 sprintf (db[N].name, "%s.%02d.cpt", root, Rnumber);367 myAssert (snprintf (db[N].name, 18, "%s.%02d.cpt", root, Rnumber) < 18, "overflow"); 368 368 Rnumber ++; 369 369 N ++; -
trunk/Ohana/src/libdvo/src/skyregion_gsc.c
r37807 r38553 46 46 FTable ftable; 47 47 SkyTable *skytable; 48 SkyTable *band;49 48 SkyTable L0, L1, L2, L3, L4; 50 49 SkyRegionZone *zones; … … 79 78 /* L0 : full sky */ 80 79 L0.Nregions = 1; 81 ALLOCATE (L0.regions, SkyRegion, L0.Nregions); 80 L0.Nalloc = 1; 81 ALLOCATE (L0.regions, SkyRegion, L0.Nalloc); 82 82 L0.regions[0].Rmin = 0; 83 83 L0.regions[0].Rmax = 360; … … 99 99 /* allocate space for all levels */ 100 100 L1.Nregions = L2.Nregions = L3.Nregions = L4.Nregions = 0; 101 ALLOCATE (L1.regions, SkyRegion, 1);102 ALLOCATE (L2.regions, SkyRegion, 1);103 ALLOCATE (L3.regions, SkyRegion, 1);104 ALLOCATE (L4.regions, SkyRegion, 1);101 L1.Nalloc = NDECBANDS; ALLOCATE (L1.regions, SkyRegion, L1.Nalloc); 102 L2.Nalloc = NDECBANDS*0x10; ALLOCATE (L2.regions, SkyRegion, L2.Nalloc); 103 L3.Nalloc = NDECBANDS*0x100; ALLOCATE (L3.regions, SkyRegion, L3.Nalloc); 104 L4.Nalloc = NDECBANDS*0x1000; ALLOCATE (L4.regions, SkyRegion, L4.Nalloc); 105 105 106 106 // skipLines = 0; … … 130 130 131 131 /* load all GSC Regions in this band */ 132 band = SkyRegionForDecBand (&ftable.buffer[skipLines*48], DecLines[i], DecNames[i], L1.regions[i].Dmin, L1.regions[i].Dmax);132 SkyTable *band = SkyRegionForDecBand (&ftable.buffer[skipLines*48], DecLines[i], DecNames[i], L1.regions[i].Dmin, L1.regions[i].Dmax); 133 133 skipLines += DecLines[i]; 134 134 … … 151 151 152 152 L1.Nregions ++; 153 REALLOCATE (L1.regions, SkyRegion, L1.Nregions + 1);153 myAssert (L1.Nregions <= NDECBANDS, "too many L1 regions"); 154 154 } 155 155 … … 225 225 226 226 temp[5] = 0; 227 s printf (name, "%s/%s", DecName, &temp[1]);227 snprintf (name, 80, "%s/%s", DecName, &temp[1]); 228 228 strcpy (regions[i].name, name); 229 229 } … … 231 231 band[0].regions = regions; 232 232 band[0].Nregions = Nregions; 233 band[0].Nalloc = Nregions; 233 234 return (band); 234 235 } … … 277 278 Nregions = band[0].Nregions; 278 279 279 NZ = 10 ;280 NZ = 100; 280 281 ALLOCATE (zones, SkyRegionZone, NZ); 281 282 … … 312 313 /* go to the next zone */ 313 314 Nz++; 314 CHECK_REALLOCATE (zones, SkyRegionZone, NZ, Nz, 10 );315 CHECK_REALLOCATE (zones, SkyRegionZone, NZ, Nz, 100); 315 316 316 317 /* start info for the new zone */ … … 365 366 band[0].regions[Nregions + i].Dmax = -86.250; 366 367 } 367 sprintf (band[0].regions[Nregions + i].name, "%s.%d", basename, i);368 myAssert (snprintf (band[0].regions[Nregions + i].name, 18, "%s.%d", basename, i) < 18, "overflow"); 368 369 } 369 370 band[0].regions[Nregions + i].Rmin = 0.0; … … 376 377 band[0].regions[Nregions + i].Dmax = -88.125; 377 378 } 378 sprintf (band[0].regions[Nregions + i].name, "%s.%d", basename, i);379 myAssert (snprintf (band[0].regions[Nregions + i].name, 18, "%s.%d", basename, i) < 18, "overflow"); 379 380 380 381 zones[0].Nset = 6; … … 401 402 void SkyTableL2fromZone (SkyTable *L2, SkyTable *L3, SkyTable *L4, SkyTable *band, SkyRegionZone *zone, int parent) { 402 403 403 int i, N r, Ns, Ne;404 int i, Ns, Ne; 404 405 char *p, name[80]; 405 406 406 Nr = L2[0].Nregions;407 REALLOCATE (L2[0].regions, SkyRegion, Nr + 1);407 int Nr = L2[0].Nregions; 408 CHECK_REALLOCATE (L2[0].regions, SkyRegion, L2[0].Nalloc, L2[0].Nregions, 100); 408 409 409 410 /* divide this zone into L2 regions with Nset L3 regions each (fewer on ends) */ … … 435 436 } 436 437 *p = 0; 437 sprintf (name, "%s/z%03d", band[0].regions[Ns].name, Nr);438 myAssert (snprintf (name, 80, "%s/z%03d", band[0].regions[Ns].name, Nr) < 80, "overflow"); 438 439 *p = '/'; 439 440 strcpy (L2[0].regions[Nr].name, name); … … 444 445 445 446 Nr++; 446 REALLOCATE (L2[0].regions, SkyRegion, Nr + 1);447 CHECK_REALLOCATE (L2[0].regions, SkyRegion, L2[0].Nalloc, Nr, 100); 447 448 } 448 449 L2[0].Nregions = Nr; … … 456 457 Nr = L3[0].Nregions; 457 458 L3[0].Nregions += Ne - Ns; 458 REALLOCATE (L3[0].regions, SkyRegion, L3[0].Nregions);459 CHECK_REALLOCATE (L3[0].regions, SkyRegion, L3[0].Nalloc, L3[0].Nregions, 0.5*L3[0].Nalloc); 459 460 460 461 L2[0].child = TRUE; … … 498 499 Nr = L4[0].Nregions; 499 500 L4[0].Nregions += NDIV*NDIV; 500 REALLOCATE (L4[0].regions, SkyRegion, L4[0].Nregions);501 CHECK_REALLOCATE (L4[0].regions, SkyRegion, L4[0].Nalloc, L4[0].Nregions, 0.5*L4[0].Nalloc); 501 502 502 503 L3[0].child = TRUE; … … 531 532 L4[0].regions[Nr].backupID = 0; 532 533 533 sprintf (name, "%s.%02d", L3[0].name, Nbox);534 myAssert (snprintf (name, 80, "%s.%02d", L3[0].name, Nbox) < 80, "overflow"); 534 535 strcpy (L4[0].regions[Nr].name, name); 535 536 if (DEBUG >= 4) SkyRegionPrint (&L4[0].regions[Nr]); -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r38441 r38553 113 113 fclose (f); 114 114 115 gfits_free_header (&header); 116 gfits_free_matrix (&matrix); 117 gfits_free_header (&theader); 118 gfits_free_table (&ftable); 119 115 120 return (TRUE); 116 121 } … … 131 136 exit (1); 132 137 } 138 free (filename); 133 139 return (sky); 134 140 … … 195 201 // this generates the names, be sure to free when not needed 196 202 for (i = 0; i < list[0].Nregions; i++) { 197 s printf (line, "%s/%s.%s", path, list[0].regions[i][0].name, ext);203 snprintf (line, 256, "%s/%s.%s", path, list[0].regions[i][0].name, ext); 198 204 list[0].filename[i] = strcreate (line); 199 205 } … … 209 215 // this generates the names, be sure to free when not needed 210 216 for (i = 0; i < sky[0].Nregions; i++) { 211 s printf (line, "%s/%s.%s", path, sky[0].regions[i].name, ext);217 snprintf (line, 256, "%s/%s.%s", path, sky[0].regions[i].name, ext); 212 218 sky[0].filename[i] = strcreate (line); 213 219 } … … 222 228 223 229 char *skyfile; 224 ALLOCATE (skyfile, char, strlen(catdir) + strlen("/SkyTable.fits") + 1); 225 sprintf (skyfile, "%s/SkyTable.fits", catdir); 230 231 int Nchar = strlen(catdir) + strlen("/SkyTable.fits") + 16; 232 ALLOCATE (skyfile, char, Nchar); 233 snprintf (skyfile, Nchar, "%s/SkyTable.fits", catdir); 226 234 227 235 return skyfile; -
trunk/Ohana/src/libdvo/src/skyregion_ops.c
r37807 r38553 550 550 } 551 551 free (list[0].regions); 552 free (list[0].filename); 552 553 } 553 554 free (list);
Note:
See TracChangeset
for help on using the changeset viewer.
