IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 23, 2006, 3:34:59 PM (20 years ago)
Author:
jhoblitt
Message:

automate option help printing

File:
1 edited

Legend:

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

    r8459 r8534  
    137137        if (config->mode) { \
    138138            psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed"); \
     139            goto FAIL; \
    139140        } \
    140141        config->mode = modeval; \
    141142        config->args = psMemIncrRefCounter(argset); \
    142143    } \
     144    if (!psMetadataAddMetadata(argSets, PS_LIST_TAIL, option, 0, NULL, argset)) {;\
     145        psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option);\
     146    } \
     147    psFree(argset); \
    143148}
    144149
     150    psMetadata *argSets = psMetadataAlloc();
    145151    // find which mode we're running under
    146152    PXTOOL_MODE("-pendingexp",   P0TOOL_MODE_PENDINGEXP,  pendingexpArgs);
     
    162168        printf("\nPan-STARRS Phase 0 Tool\n");
    163169        printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
    164         printf(" <mode> : [-pendingexp|-pendingimfile|-updateexp|-updateimfile|-rawimfile]\n\n");
    165 
    166         fprintf (stdout, "-pendingexp ");
    167         psArgumentHelp(pendingexpArgs);
    168         psFree(pendingexpArgs);
    169 
    170         fprintf (stdout, "-pendingimfile ");
    171         psArgumentHelp(pendingimfileArgs);
    172         psFree(pendingimfileArgs);
    173 
    174         fprintf (stdout, "-updateexp ");
    175         psArgumentHelp(updateexpArgs);
    176         psFree(updateexpArgs);
    177 
    178         fprintf (stdout, "-updateimfile ");
    179         psArgumentHelp(updateimfileArgs);
    180         psFree(updateimfileArgs);
    181 
    182         fprintf (stdout, "-rawimfile ");
    183         psArgumentHelp(rawimfileArgs);
    184         psFree(rawimfileArgs);
    185 
     170        printf(" <mode> :\n\n");
     171
     172        psMetadataIterator *iter = psMetadataIteratorAlloc(argSets, 0, NULL);
     173        psMetadataItem *item = NULL;
     174        while ((item = psMetadataGetAndIncrement(iter))) {
     175            if (!item->type == PS_DATA_METADATA) {
     176                psAbort(argv[0], "all options must be specified as a metadata");            }
     177
     178            fprintf(stdout, "%s ", item->name);
     179            psArgumentHelp(item->data.md);
     180        }
     181        psFree(iter);
     182
     183        psFree(argSets);
    186184        goto FAIL;
    187185    }
    188186
    189     psFree(pendingexpArgs);
    190     psFree(pendingimfileArgs);
    191     psFree(updateexpArgs);
    192     psFree(updateimfileArgs);
    193     psFree(rawimfileArgs);
     187    psFree(argSets);
    194188
    195189    // setup search criterion
Note: See TracChangeset for help on using the changeset viewer.