Changeset 7080 for trunk/Ohana/src/libdvo/src/fits_db.c
- Timestamp:
- May 5, 2006, 5:44:26 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libdvo/src/fits_db.c (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/src/fits_db.c
r6234 r7080 2 2 3 3 /* init the db structure */ 4 int fits_db_init (FITS_DB *db) {4 int gfits_db_init (FITS_DB *db) { 5 5 6 6 db[0].f = NULL; … … 19 19 20 20 /* create an empty db */ 21 int fits_db_create (FITS_DB *db) {22 fits_init_header (&db[0].header);21 int gfits_db_create (FITS_DB *db) { 22 gfits_init_header (&db[0].header); 23 23 db[0].header.extend = TRUE; 24 fits_create_header (&db[0].header);25 fits_create_matrix (&db[0].header, &db[0].matrix);26 fits_print (&db[0].header, "NEXTEND", "%d", 1, 1);24 gfits_create_header (&db[0].header); 25 gfits_create_matrix (&db[0].header, &db[0].matrix); 26 gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1); 27 27 db[0].ftable.header = &db[0].theader; 28 28 return (TRUE); 29 29 } 30 30 31 int fits_db_lock (FITS_DB *db, char *filename) {31 int gfits_db_lock (FITS_DB *db, char *filename) { 32 32 33 33 /* database name must be set first */ … … 59 59 60 60 /* load the complete db table into memory - load first extension, do not validate EXTNAME */ 61 int fits_db_load (FITS_DB *db) {61 int gfits_db_load (FITS_DB *db) { 62 62 63 63 /* database name must be set first */ … … 68 68 69 69 /* init & load in FITS table data - return FALSE on error */ 70 if (! fits_fread_header (db[0].f, &db[0].header)) {70 if (!gfits_fread_header (db[0].f, &db[0].header)) { 71 71 fprintf (stderr, "can't read primary header\n"); 72 72 return (FALSE); 73 73 } 74 if (! fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {74 if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 75 75 fprintf (stderr, "can't read primary matrix"); 76 76 return (FALSE); 77 77 } 78 if (! fits_fread_header (db[0].f, &db[0].theader)) {78 if (!gfits_fread_header (db[0].f, &db[0].theader)) { 79 79 fprintf (stderr, "can't read table header"); 80 80 return (FALSE); 81 81 } 82 if (! fits_fread_ftable_data (db[0].f, &db[0].ftable)) {82 if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) { 83 83 fprintf (stderr, "can't read table data"); 84 84 return (FALSE); … … 89 89 90 90 /* load the data from Nrows from table starting at start; load header, etc if needed */ 91 int fits_db_load_segment (FITS_DB *db, int start, int Nrows) {91 int gfits_db_load_segment (FITS_DB *db, int start, int Nrows) { 92 92 93 93 int Nskip; … … 110 110 /* load or skip header */ 111 111 if (db[0].header.buffer == NULL) { 112 if (! fits_fread_header (db[0].f, &db[0].header)) {112 if (!gfits_fread_header (db[0].f, &db[0].header)) { 113 113 fprintf (stderr, "can't read primary header\n"); 114 114 return (FALSE); … … 121 121 /* load or skip matrix */ 122 122 if (db[0].matrix.buffer == NULL) { 123 if (! fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {123 if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 124 124 fprintf (stderr, "can't read primary matrix"); 125 125 return (FALSE); 126 126 } 127 127 } else { 128 Nskip = fits_matrix_size (&db[0].header);128 Nskip = gfits_matrix_size (&db[0].header); 129 129 Fseek (db[0].f, Nskip, SEEK_CUR); 130 130 } … … 132 132 /* load or skip table header */ 133 133 if (db[0].theader.buffer == NULL) { 134 if (! fits_fread_header (db[0].f, &db[0].theader)) {134 if (!gfits_fread_header (db[0].f, &db[0].theader)) { 135 135 fprintf (stderr, "can't read table header"); 136 136 return (FALSE); … … 142 142 143 143 /* read table segment into vtable */ 144 if (! fits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {144 if (!gfits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) { 145 145 fprintf (stderr, "can't read table data"); 146 146 return (FALSE); … … 150 150 151 151 /* write complete db file */ 152 int fits_db_save (FITS_DB *db) {152 int gfits_db_save (FITS_DB *db) { 153 153 154 154 /* write all data to file */ … … 156 156 Fseek (db[0].f, 0, SEEK_SET); 157 157 158 if (! fits_fwrite_header (db[0].f, &db[0].header)) {158 if (!gfits_fwrite_header (db[0].f, &db[0].header)) { 159 159 fprintf (stderr, "can't write primary header"); 160 160 return (FALSE); 161 161 } 162 if (! fits_fwrite_matrix (db[0].f, &db[0].matrix)) {162 if (!gfits_fwrite_matrix (db[0].f, &db[0].matrix)) { 163 163 fprintf (stderr, "can't write primary matrix"); 164 164 return (FALSE); 165 165 } 166 if (! fits_fwrite_Theader (db[0].f, &db[0].theader)) {166 if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) { 167 167 fprintf (stderr, "can't write table header"); 168 168 return (FALSE); 169 169 } 170 if (! fits_fwrite_table (db[0].f, &db[0].ftable)) {170 if (!gfits_fwrite_table (db[0].f, &db[0].ftable)) { 171 171 fprintf (stderr, "can't write table data"); 172 172 return (FALSE); … … 176 176 177 177 /* write vtable to db file (also appends rows to the end of the table) */ 178 int fits_db_update (FITS_DB *db) {178 int gfits_db_update (FITS_DB *db) { 179 179 180 180 /* this section is not valid if we have changed the size of header, matrix, theader */ … … 185 185 186 186 /* do we revert to the old version if this fails? */ 187 if (! fits_fwrite_header (db[0].f, &db[0].header)) {187 if (!gfits_fwrite_header (db[0].f, &db[0].header)) { 188 188 fprintf (stderr, "can't update primary header"); 189 189 return (FALSE); 190 190 } 191 if (! fits_fwrite_matrix (db[0].f, &db[0].matrix)) {191 if (!gfits_fwrite_matrix (db[0].f, &db[0].matrix)) { 192 192 fprintf (stderr, "can't update primary matrix"); 193 193 return (FALSE); 194 194 } 195 if (! fits_fwrite_Theader (db[0].f, &db[0].theader)) {195 if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) { 196 196 fprintf (stderr, "can't update table header"); 197 197 return (FALSE); 198 198 } 199 if (! fits_fwrite_vtable (db[0].f, &db[0].vtable)) {199 if (!gfits_fwrite_vtable (db[0].f, &db[0].vtable)) { 200 200 fprintf (stderr, "can't update table data"); 201 201 return (FALSE); … … 205 205 206 206 /* free memory associated with db handle */ 207 int fits_db_free (FITS_DB *db) {208 fits_free_header (&db[0].header);209 fits_free_matrix (&db[0].matrix);210 fits_free_header (&db[0].theader);211 fits_free_table (&db[0].ftable);212 fits_free_vtable (&db[0].vtable);207 int gfits_db_free (FITS_DB *db) { 208 gfits_free_header (&db[0].header); 209 gfits_free_matrix (&db[0].matrix); 210 gfits_free_header (&db[0].theader); 211 gfits_free_table (&db[0].ftable); 212 gfits_free_vtable (&db[0].vtable); 213 213 if (db[0].filename != NULL) { 214 214 free (db[0].filename); … … 219 219 220 220 /* close the db files (close open file & unlock) */ 221 int fits_db_close (FITS_DB *db) {221 int gfits_db_close (FITS_DB *db) { 222 222 if (db[0].f == NULL) return (TRUE); 223 223 fclearlockfile (db[0].filename, db[0].f, db[0].lockstate, &db[0].dbstate);
Note:
See TracChangeset
for help on using the changeset viewer.
