IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 17, 2006, 3:06:21 PM (20 years ago)
Author:
jhoblitt
Message:

refactor pzsearchs config/CLI option handling to be consistent with the other pXtools

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/pztool.c

    r6978 r7921  
    1616static bool pzsearchFlushPendingExp(pxConfig *config);
    1717
     18# define MODECASE(caseName, func) \
     19    case caseName: \
     20    if (!func(config)) { \
     21                goto FAIL; \
     22            } \
     23    break;
     24
     25
    1826int main(int argc, char **argv)
    1927{
     28    psLibInit(NULL);
     29
    2030    pxConfig *config = pzsearchConfig(NULL, argc, argv);
    2131
    2232    switch (config->mode) {
    23         case PX_MODE_SEEN:
    24             if (!seenMode(config)) {
    25                 goto FAIL;
    26             }
    27             break;
    28         case PX_MODE_PENDING:
    29             if (!pendingMode(config)) {
    30                 goto FAIL;
    31             }
    32             break;
    33         case PX_MODE_COPYDONE:
    34             if (!copydoneMode(config)) {
    35                 goto FAIL;
    36             }
    37             break;
     33        MODECASE(PZSEARCH_MODE_SEEN, seenMode);
     34        MODECASE(PZSEARCH_MODE_PENDING, pendingMode);
     35        MODECASE(PZSEARCH_MODE_COPYDONE, copydoneMode);
    3836        default:
    3937            psAbort(argv[0], "invalid option (this should not happen)");
    4038    }
    4139
     40    psFree(config);
     41    pmConfigDone();
     42    psLibFinalize();
     43
     44
    4245    exit(EXIT_SUCCESS);
    4346
    4447FAIL:
    4548    psFree(config);
     49    pmConfigDone();
     50    psLibFinalize();
     51
    4652    exit(EXIT_FAILURE);
    4753}
Note: See TracChangeset for help on using the changeset viewer.