static int process_arglist(int argc, char **argv) { int option; int count = 0; fpin = stdin; fpo = stdout; dbgout = stderr; #ifdef __EMX__ _response (&argc, &argv); /* expand response files (@filename) */ _wildcard (&argc, &argv); /* expand wildcards (*.*) */ #endif /* default: no token length checking */ max_token_len = 0; while (1) { int option_index = 0; int this_option_optind = optind ? optind : 1; const char *name; option = getopt_long_chk(argc, argv, OPTIONS, longopts_bogoutil, &option_index); if (option == -1) break; name = (option_index == 0) ? argv[this_option_optind] : longopts_bogoutil[option_index].name; count += process_arg(option, name, optarg, PR_NONE, PASS_1_CLI); } if (max_token_len != 0 && max_multi_token_len == 0) { /* token length checking ... */ if (multi_token_count == 1) max_multi_token_len = max_token_len + MAX_PREFIX_LEN; else max_multi_token_len = max_token_len = (max_token_len+1) * multi_token_count + MAX_PREFIX_LEN; } if (count != 1) { usage(stderr); fprintf(stderr, "%s: Exactly one of the file or directory commands must be present.\n", progname); exit(EX_ERROR); } return count; }
static int process_arglist(int argc, char **argv) { int count = 1; bulk_mode = B_CMDLINE; #ifdef __EMX__ _response (&argc, &argv); /* expand response files (@filename) */ _wildcard (&argc, &argv); /* expand wildcards (*.*) */ #endif #define OPTIONS ":-:c:Cd:DeEM:n:qr:s:tT:vVx:" while (1) { int option; int option_index = 0; const char *val; option = getopt_long_chk(argc, argv, OPTIONS, longopts_bogotune, &option_index); if (option == -1) break; val = optarg; process_arg(option, NULL, val, PR_NONE, PASS_1_CLI); } if (ds_flag == DS_NONE) /* default is "wordlist on disk" */ ds_flag = DS_DSK; if (ds_flag == DS_ERR) { fprintf(stderr, "Only one '-d dir' or '-D' option is allowed.\n"); exit(EX_ERROR); } if (bogolex_file == NULL && (spam_files->count == 0 || ham_files->count == 0)) { fprintf(stderr, "Bogotune needs both non-spam and spam message sets for its parameter testing.\n"); exit(EX_ERROR); } if (!suppress_config_file) process_config_files(false, longopts_bogotune); return count; }
static void process_arglist(int argc, char **argv) { int option; fpin = stdin; dbgout = stderr; #ifdef __EMX__ _response (&argc, &argv); /* expand response files (@filename) */ _wildcard (&argc, &argv); /* expand wildcards (*.*) */ #endif while (1) { int option_index = 0; int this_option_optind = optind ? optind : 1; const char *name; #ifdef __EMX__ if (optind == 1) optind = 0; #endif option = getopt_long_chk(argc, argv, OPTIONS, longopts_bogolexer, &option_index); if (option == -1) break; name = (option_index == 0) ? argv[this_option_optind] : longopts_bogolexer[option_index].name; process_arg(option, name, optarg, PR_COMMAND, PASS_1_CLI); } if (optind < argc) { fprintf(stderr, "Extra arguments given, first: %s. Aborting.\n", argv[optind]); exit(EX_ERROR); } }