IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 7, 2010, 2:24:29 PM (16 years ago)
Author:
eugene
Message:

add additional error checks to libfits, libdvo; fix error in F_scan,print,modify with OFF_T_FMT mis-used

Location:
trunk/Ohana/src/libdvo/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/src/LoadPhotcodes.c

    r25757 r28246  
    1515  if (LoadPhotcodesText (master_file)) {
    1616    if (!check_file_access (catdir_file, TRUE, TRUE, TRUE)) return TRUE;
    17     SavePhotcodesFITS (catdir_file);
     17    if (!SavePhotcodesFITS (catdir_file)) return FALSE;
    1818    return TRUE;
    1919  }
  • trunk/Ohana/src/libdvo/src/SavePhotcodesFITS.c

    r27580 r28246  
    3232
    3333  /* convert FITS format data to internal format (byteswaps & EXTNAME) */
    34   gfits_db_create (&db);
    35   gfits_table_set_PhotCode_PS1_V2 (&db.ftable, photcode_output, table[0].Ncode);
    36   gfits_db_save (&db);
    37   gfits_db_close (&db);
     34  if (!gfits_db_create (&db)) return (FALSE);
     35  if (!gfits_table_set_PhotCode_PS1_V2 (&db.ftable, photcode_output, table[0].Ncode)) return (FALSE);
     36  if (!gfits_db_save (&db)) return (FALSE);
     37  if (!gfits_db_close (&db)) return (FALSE);
    3838
    3939  free (photcode_output);
  • trunk/Ohana/src/libdvo/src/dvo_image.c

    r28241 r28246  
    120120  /* adjust header */
    121121  Nimages = 0;
    122   gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimages);
     122  if (!gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimages)) return (FALSE);
    123123  Nimages += Nnew;
    124   gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  Nimages);
    125 
    126   gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    127   gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
     124
     125  if (!gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  Nimages)) return (FALSE);
     126
     127  if (!gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0)) return (FALSE);
     128
     129  if (!gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image))) return (FALSE);
    128130
    129131  /* check that primary header and table header agree */
    130132  if (Nimages != db[0].theader.Naxis[1]) {
    131133    fprintf (stderr, "header / table length mismatch!\n");
     134    return (FALSE);
    132135  }
    133136  return (TRUE);
     
    157160      exit (2);
    158161  }
    159   return (TRUE);
     162  return (status);
    160163}
    161164
  • trunk/Ohana/src/libdvo/src/fits_db.c

    r27435 r28246  
    2020/* create an empty db */
    2121int gfits_db_create (FITS_DB *db) {
    22   gfits_init_header (&db[0].header);   
     22  if (!gfits_init_header (&db[0].header)) return (FALSE);
    2323  db[0].header.extend = TRUE;
    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);
     24  if (!gfits_create_header (&db[0].header))  return (FALSE);
     25  if (!gfits_create_matrix (&db[0].header, &db[0].matrix)) return (FALSE);
     26  if (!gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1)) return (FALSE);
    2727  db[0].ftable.header = &db[0].theader;
    2828  return (TRUE);
Note: See TracChangeset for help on using the changeset viewer.