Changeset 7054 for trunk/Ohana/src/libfits/table/F_set_column.c
- Timestamp:
- May 3, 2006, 12:01:09 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libfits/table/F_set_column.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libfits/table/F_set_column.c
r7039 r7054 13 13 14 14 /***********************/ 15 int fits_set_bintable_column (Header *header, FTable *table, char *label, void *data, int Nrow) {15 int gfits_set_bintable_column (Header *header, FTable *table, char *label, void *data, int Nrow) { 16 16 17 17 int i, N, Nfields, Nval, Nbytes, Nx, Ny, nbytes, Nstart, Nv, Nb; … … 26 26 /* find label in header */ 27 27 tlabel[0] = 0; 28 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);28 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 29 29 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 30 30 sprintf (field, "TTYPE%d", i); 31 fits_scan (header, field, "%s", 1, tlabel);31 gfits_scan (header, field, "%s", 1, tlabel); 32 32 } 33 33 if (strcmp (label, tlabel)) return (FALSE); … … 36 36 /* interpret format */ 37 37 sprintf (field, "TSCAL%d", N); 38 fits_scan (header, field, "%lf", 1, &Bscale);38 gfits_scan (header, field, "%lf", 1, &Bscale); 39 39 sprintf (field, "TZERO%d", N); 40 fits_scan (header, field, "%lf", 1, &Bzero);40 gfits_scan (header, field, "%lf", 1, &Bzero); 41 41 sprintf (field, "TFORM%d", N); 42 fits_scan (header, field, "%s", 1, format);43 44 if (! fits_bintable_format (format, type, &Nval, &Nbytes)) return (FALSE);42 gfits_scan (header, field, "%s", 1, format); 43 44 if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return (FALSE); 45 45 46 46 /* check existing table dimensions */ 47 fits_scan (header, "NAXIS1", "%d", 1, &Nx);48 fits_scan (header, "NAXIS2", "%d", 1, &Ny);47 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 48 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 49 49 if (Ny == 0) { 50 50 Ny = Nrow; 51 51 header[0].Naxis[1] = Ny; 52 fits_modify (header, "NAXIS2", "%d", 1, Ny);53 54 nbytes = fits_matrix_size (header);52 gfits_modify (header, "NAXIS2", "%d", 1, Ny); 53 54 nbytes = gfits_matrix_size (header); 55 55 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 56 56 bzero (table[0].buffer, nbytes); … … 63 63 for (i = 1; i < N; i++) { 64 64 sprintf (field, "TFORM%d", i); 65 fits_scan (header, field, "%s", 1, format);66 fits_bintable_format (format, tmpline, &Nv, &Nb);65 gfits_scan (header, field, "%s", 1, format); 66 gfits_bintable_format (format, tmpline, &Nv, &Nb); 67 67 Nstart += Nv*Nb; 68 68 } … … 153 153 154 154 /***********************/ 155 int fits_set_table_column (Header *header, FTable *table, char *label, void *data, int Nrow) {155 int gfits_set_table_column (Header *header, FTable *table, char *label, void *data, int Nrow) { 156 156 157 157 int i, N, Nfields, Nval, Nbytes, Nx, Ny, nbytes, Nstart, Nv, Nb; … … 164 164 /* find label in header */ 165 165 tlabel[0] = 0; 166 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);166 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 167 167 for (i = 1; strcmp (label, tlabel) && (i < Nfields + 1); i++) { 168 168 sprintf (field, "TTYPE%d", i); 169 fits_scan (header, field, "%s", 1, tlabel);169 gfits_scan (header, field, "%s", 1, tlabel); 170 170 } 171 171 if (strcmp (label, tlabel)) return (FALSE); … … 174 174 /* interpret format */ 175 175 sprintf (field, "TFORM%d", N); 176 fits_scan (header, field, "%s", 1, format);177 178 if (! fits_table_format (format, type, &Nval, &Nbytes)) return (FALSE);176 gfits_scan (header, field, "%s", 1, format); 177 178 if (!gfits_table_format (format, type, &Nval, &Nbytes)) return (FALSE); 179 179 strcpy (cformat, format); 180 180 181 181 /* check existing table dimensions */ 182 fits_scan (header, "NAXIS1", "%d", 1, &Nx);183 fits_scan (header, "NAXIS2", "%d", 1, &Ny);182 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 183 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 184 184 if (Ny == 0) { 185 185 Ny = Nrow; 186 186 header[0].Naxis[1] = Ny; 187 fits_modify (header, "NAXIS2", "%d", 1, Ny);188 189 nbytes = fits_matrix_size (header);187 gfits_modify (header, "NAXIS2", "%d", 1, Ny); 188 189 nbytes = gfits_matrix_size (header); 190 190 REALLOCATE (table[0].buffer, char, MAX (nbytes, 1)); 191 191 bzero (table[0].buffer, nbytes); … … 198 198 for (i = 1; i < N; i++) { 199 199 sprintf (field, "TFORM%d", i); 200 fits_scan (header, field, "%s", 1, format);201 fits_table_format (format, tmp, &Nv, &Nb);200 gfits_scan (header, field, "%s", 1, format); 201 gfits_table_format (format, tmp, &Nv, &Nb); 202 202 Nstart += Nv*Nb; 203 203 }
Note:
See TracChangeset
for help on using the changeset viewer.
