Changeset 37807 for trunk/Ohana/src/libfits/table/F_read_T.c
- Timestamp:
- Jan 11, 2015, 2:14:39 PM (12 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/libfits/table/F_read_T.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
- Property svn:mergeinfo changed
-
trunk/Ohana/src/libfits/table/F_read_T.c
r29938 r37807 19 19 int gfits_fread_ftable (FILE *f, FTable *table, char *extname) { 20 20 21 int j, found;22 off_t Nbytes;23 21 Header *header; 24 char tname[80];25 22 26 23 header = table[0].header; 27 fseeko (f, 0, SEEK_SET); 28 29 found = FALSE; 30 for (j = -1; !found; j++) { 31 /* load data for this header */ 32 if (!gfits_load_header (f, header)) return (FALSE); 33 34 /* check if this is the correct extension or not */ 35 bzero (tname, 80); 36 gfits_scan (header, "EXTNAME", "%s", 1, tname); 37 if (!strcmp (tname, extname)) { 38 if (gfits_fread_ftable_data (f, table, FALSE)) return (TRUE); 39 gfits_free_header (header); 40 return (FALSE); 41 } 42 43 /* skip to next header */ 44 Nbytes = gfits_data_size (header); 45 fseeko (f, Nbytes, SEEK_CUR); 46 gfits_free_header (header); 47 } 48 return (TRUE); 49 } 24 if (!gfits_find_Xheader (f, header, extname)) return FALSE; 25 26 if (gfits_fread_ftable_data (f, table, FALSE)) return (TRUE); 27 gfits_free_header (header); 28 return (FALSE); 29 } 50 30 51 31 /*********************** fits read ftable data ***********************************/ … … 84 64 85 65 /*********************** fits read ftable data ***********************************/ 86 int gfits_fread_ftable_range (FILE *f, FTable *table, off_t start, off_t Nrows) {66 int gfits_fread_ftable_range (FILE *f, int padIfShort, FTable *table, off_t start, off_t Nrows) { 87 67 88 68 off_t Nbytes, Nread, Nskip, Nx, Ny; … … 109 89 if (ferror (f)) { 110 90 perror ("fits read error"); 91 free (table[0].buffer); 92 return (FALSE); 93 } 94 fprintf (stderr, "error: fits read error in %s, read "OFF_T_FMT", need "OFF_T_FMT"\n", __func__, Nread, Nbytes); 95 if (padIfShort) { 96 memset (&table[0].buffer[Nread], 0, Nbytes - Nread); 97 fprintf (stderr, "warning: file missing data, padding with zeros: USE AT YOUR OWN RISK!\n"); 98 table[0].validsize = Nread; 99 table[0].datasize = Nbytes; 111 100 } else { 112 fprintf (stderr, "unexpected eof\n"); 113 } 114 free (table[0].buffer); 115 return (FALSE); 101 free (table[0].buffer); 102 return (FALSE); 103 } 116 104 } 117 105
Note:
See TracChangeset
for help on using the changeset viewer.
