IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 12993


Ignore:
Timestamp:
Apr 24, 2007, 11:51:19 AM (19 years ago)
Author:
Paul Price
Message:

Fixing argument parsing following change to pmConfig

Location:
trunk/ppStats/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppStats/src/ppStatsSetupFromArgs.c

    r12733 r12993  
    1515
    1616// Print usage information and die
    17 static void usageAndDie(pmConfig *config      // Configuration (contains the arguments list)
     17static void usageAndDie(char *argv[],   // Command-line arguments: only need the first which is always present
     18                        pmConfig *config // Configuration
    1819    )
    1920{
     
    2122           "Usage:\n"
    2223           "\t%s INPUT.fits [OUTPUT_NAME]\n"
    23            "\n", config->argv[0]);
     24           "\n", argv[0]);
    2425    psArgumentHelp(config->arguments);
    2526    psFree(config);
     
    8687
    8788
    88 ppStatsData *ppStatsSetupFromArgs(pmConfig *config // Configuration
     89ppStatsData *ppStatsSetupFromArgs(int *argc, char *argv[], // Command-line arguments
     90                                  pmConfig *config // Configuration
    8991    )
    9092{
     
    111113    psMetadataAddBool(arguments, PS_LIST_TAIL, "-level", 0, "File level", 0);
    112114
    113     if (*config->argc == 1) {
     115    if (*argc == 1) {
    114116        // No command-line arguments: print the help
    115         usageAndDie(config);
    116     }
    117     if (!psArgumentParse(arguments, config->argc, config->argv) ||
    118         (*config->argc != 2 && *config->argc != 3)) {
     117        usageAndDie(argv, config);
     118    }
     119    if (!psArgumentParse(arguments, argc, argv) ||
     120        (*argc != 2 && *argc != 3)) {
    119121        printf("Unable to parse command-line arguments.\n\n");
    120         usageAndDie(config);
     122        usageAndDie(argv, config);
    121123    }
    122124
    123125    // Parse the command-line options
    124126    ppStatsData *data = ppStatsDataAlloc(); // The data
    125     const char *inName = config->argv[1]; // Input file name
    126     psArgumentRemove(1, config->argc, config->argv);
     127    const char *inName = argv[1]; // Input file name
     128    psArgumentRemove(1, argc, argv);
    127129
    128130    listFromArguments(arguments, "Chip", "-chip", data->chips);
     
    194196    // Common path for error conditions: clean up and exit.
    195197die:
    196     psErrorStackPrint (stderr, "failure in %s", __func__);
     198    psErrorStackPrint(stderr, "Unable to set ppStats parameters from command-line arguments");
    197199    psFree(config);
    198200    psFree(data);
  • trunk/ppStats/src/ppStatsSetupFromArgs.h

    r8337 r12993  
    66
    77// Set up the options and input/output files
    8 ppStatsData *ppStatsSetupFromArgs(pmConfig *config // Configuration
     8ppStatsData *ppStatsSetupFromArgs(int *argc, char *argv[], // Command-line arguments
     9                                  pmConfig *config // Configuration
    910    );
    1011
  • trunk/ppStats/src/ppStatsStandAlone.c

    r12354 r12993  
    2828
    2929    // Get the options, open the files
    30     ppStatsData *data = ppStatsSetupFromArgs(config);
     30    ppStatsData *data = ppStatsSetupFromArgs(&argc, argv, config);
    3131    if (!data) {
    3232        psError(PS_ERR_UNKNOWN, false, "Unable to parse command-line arguments.\n");
     
    3737    const char *outName = NULL;         // Output file name
    3838    FILE *outFile = stdout;             // Output file
    39     if (*config->argc == 2) {
    40         outName = config->argv[1];
     39    if (argc == 2) {
     40        outName = argv[1];
    4141        if (outName && strlen(outName) > 0) {
    4242            outFile = fopen(outName, "w");
Note: See TracChangeset for help on using the changeset viewer.