IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 4, 2007, 9:55:03 AM (19 years ago)
Author:
eugene
Message:

clean up error handling on pmFPAfileIO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psastro/src/psastroDataSave.c

    r12806 r15216  
    22// XXX leak free 2006.04.27
    33
     4# define ESCAPE { \
     5  psError(PS_ERR_UNKNOWN, false, "Failure in psastroDataSave"); \
     6  psFree (view); \
     7  return false; \
     8}
     9 
    410// this loop saves the photometry/astrometry data files
    511bool psastroDataSave (pmConfig *config) {
     
    3036
    3137    // open/load files as needed
    32     pmFPAfileIOChecks (config, view, PM_FPA_BEFORE);
     38    if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE;
    3339
    3440    while ((chip = pmFPAviewNextChip (view, output->fpa, 1)) != NULL) {
    3541        psTrace ("psastro", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
    3642        if (!chip->process || !chip->file_exists) { continue; }
    37         pmFPAfileIOChecks (config, view, PM_FPA_BEFORE);
     43        if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE;
    3844
    3945        while ((cell = pmFPAviewNextCell (view, output->fpa, 1)) != NULL) {
    4046            psTrace ("psastro", 4, "Cell %d: %x %x\n", view->cell, cell->file_exists, cell->process);
    4147            if (!cell->process || !cell->file_exists) { continue; }
    42             pmFPAfileIOChecks (config, view, PM_FPA_BEFORE);
     48            if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE;
    4349
    4450            // process each of the readouts
    4551            while ((readout = pmFPAviewNextReadout (view, output->fpa, 1)) != NULL) {
    46                 pmFPAfileIOChecks (config, view, PM_FPA_BEFORE);
    47                 if (! readout->data_exists) { continue; }
     52                if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE;
     53                if (!readout->data_exists) { continue; }
    4854
    49                 pmFPAfileIOChecks (config, view, PM_FPA_AFTER);
     55                if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE;
    5056            }
    51             pmFPAfileIOChecks (config, view, PM_FPA_AFTER);
     57            if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE;
    5258        }
    53         pmFPAfileIOChecks (config, view, PM_FPA_AFTER);
     59        if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE;
    5460    }
    55     pmFPAfileIOChecks (config, view, PM_FPA_AFTER);
     61    if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE;
    5662
    5763    // activate all files except PSASTRO.OUTPUT
    58     pmFPAfileActivate (config->files, true, NULL);
    59     pmFPAfileActivate (config->files, false, "PSASTRO.OUTPUT");
     64    if (!pmFPAfileActivate (config->files, true, NULL)) ESCAPE;
     65    if (!pmFPAfileActivate (config->files, false, "PSASTRO.OUTPUT")) ESCAPE;
    6066
    6167    psFree (view);
Note: See TracChangeset for help on using the changeset viewer.