void setPPstyle (ppOption pps, int i, const char *argv) { static int setBy = 0; static const char *setArg = NULL; if (argv == NULL) { printf ("Set by arg %d (%-10s), PrettyPrint style = %s\n", setBy, setArg, getPPStyleStr()); return; } // if the style has already been set, and is trying to be reset by default // rules, override the default (i.e., don't make a change) if (setBy != 0 && i == 0) return; // If -long or -xml or -format are specified, do not reset to // "normal" style when followed by a flag such as -startd. if( ppStyle == PP_XML || ppStyle == PP_VERBOSE || ppStyle == PP_CUSTOM ) { if( pps != PP_XML && pps != PP_VERBOSE && pps != PP_CUSTOM ) { // ignore this style setting and keep our existing setting return; } } // If setting a 'normal' output, check to see if there is a user-defined normal output if ( ! disable_user_print_files && ! explicit_format && pps != PP_XML && pps != PP_VERBOSE && pps != PP_CUSTOM && pps != ppStyle) { MyString param_name("STATUS_DEFAULT_"); param_name += getTypeStr(); param_name += "_PRINT_FORMAT_FILE"; char * pf_file = param(param_name.c_str()); if (pf_file) { struct stat stat_buff; if (0 != stat(pf_file, &stat_buff)) { // do nothing, this is not an error. } else if (set_status_print_mask_from_stream(pf_file, true) < 0) { fprintf(stderr, "Warning: default %s select file '%s' is invalid\n", getTypeStr(), pf_file); } else { using_print_format = true; } free(pf_file); } } if ( (PP_XML == pps) || PP_VERBOSE == pps || (ppStyle <= pps || setBy == 0) ) { ppStyle = pps; setBy = i; setArg = argv; } else { fprintf (stderr, "Error: arg %d (%s) contradicts arg %d (%s)\n", i, argv, setBy, setArg); exit (1); } }
void setPPstyle (ppOption pps, int i, const char *argv) { static int setBy = 0; static const char *setArg = NULL; if (argv == NULL) { printf ("Set by arg %d (%-10s), PrettyPrint style = %s\n", setBy, setArg, getPPStyleStr()); return; } // if the style has already been set, and is trying to be reset by default // rules, override the default (i.e., don't make a change) if (setBy != 0 && i == 0) return; // If -long or -xml or -format are specified, do not reset to // "normal" style when followed by a flag such as -startd. if( ppStyle == PP_XML || ppStyle == PP_VERBOSE || ppStyle == PP_CUSTOM ) { if( pps != PP_XML && pps != PP_VERBOSE && pps != PP_CUSTOM ) { // ignore this style setting and keep our existing setting return; } } if ( (PP_XML == pps) || PP_VERBOSE == pps || (ppStyle <= pps || setBy == 0) ) { ppStyle = pps; setBy = i; setArg = argv; } else { fprintf (stderr, "Error: arg %d (%s) contradicts arg %d (%s)\n", i, argv, setBy, setArg); exit (1); } }