IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2008, 10:30:59 AM (18 years ago)
Author:
eugene
Message:

completely deprecate config->where; make all command-line handling consistent; move nearly all sql into share/*.sql; ensure consistency between args supplied and used

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/detselect.h

    r18322 r18561  
    3131pxConfig *detselectConfig(pxConfig *config, int argc, char **argv);
    3232
    33 #define addWhereStr(name) \
    34 { \
    35     psString str = NULL; \
    36     bool status = false; \
    37     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    38         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    39             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    40             psFree(config); \
    41             return NULL; \
    42         } \
    43     } \
    44 }
    45 
    46 #define addWhereStrAlias(name,realname) \
    47 { \
    48     psString str = NULL; \
    49     bool status = false; \
    50     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    51         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #realname, 0, "==", str)) {\
    52             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    53             psFree(config); \
    54             return NULL; \
    55         } \
    56     } \
    57 }
    58 
    59 #define addWhereS32(name) \
    60 { \
    61     psS32 s32 = 0; \
    62     bool status = false; \
    63     if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \
    64         if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \
    65             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    66             psFree(config); \
    67             return NULL; \
    68         } \
    69     } \
    70 }
    71 
    72 #define addWhereF32(name) \
    73 { \
    74     psF32 var = 0; \
    75     bool status = false; \
    76     if ((var = psMetadataLookupF32(&status, config->args, "-" #name))) { \
    77         if (!isnan(var)) { \
    78             if (!psMetadataAddF32(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \
    79                 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    80                 psFree(config); \
    81                 return NULL; \
    82             } \
    83         } \
    84     } \
    85 }
    86 
    87 #define addWhereF64(name) \
    88 { \
    89     psF64 var = 0; \
    90     bool status = false; \
    91     if ((var = psMetadataLookupF64(&status, config->args, "-" #name))) { \
    92         if (!isnan(var))  { \
    93             if (!psMetadataAddF64(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \
    94                 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    95                 psFree(config); \
    96                 return NULL; \
    97             } \
    98         } \
    99     } \
    100 }
    101 
    102 #define addWhereTimeStr(name) \
    103 { \
    104     psString str = NULL; \
    105     bool status = false; \
    106     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    107         psTime *time = psTimeFromISO(str, PS_TIME_UTC); \
    108         if (!time) { \
    109             psError(PS_ERR_UNKNOWN, false, "failed to convert " #name " into a psTime object"); \
    110             psFree(config); \
    111             return NULL; \
    112         } \
    113         psMetadataItem *item = psMetadataLookup(config->args, "-" #name); \
    114         if (item) { \
    115             str = item->comment; \
    116         } else { \
    117             str = NULL; \
    118         } \
    119         if (!psMetadataAddTime(config->where, PS_LIST_TAIL, #name, 0, str, time)) {\
    120             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    121             psFree(config); \
    122             return NULL; \
    123         } \
    124         psFree(time); \
    125     } \
    126 }
    127 
    12833#endif // DETSELECT_H
Note: See TracChangeset for help on using the changeset viewer.