+ /* sanity check. First non-comment non-blank
+ line must be the same as the file name. */
+ if(strcmp(line, protoname))
-+ exit_error(OTHER_PROBLEM,
++ xtables_error(OTHER_PROBLEM,
+ "Protocol name (%s) doesn't match file name (%s). Bailing out\n",
+ line, filename);
+
+ if(strlen(line) >= MAX_PROTOCOL_LEN)
-+ exit_error(PARAMETER_PROBLEM,
++ xtables_error(PARAMETER_PROBLEM,
+ "Protocol name in %s too long!", filename);
+ strncpy(info->protocol, line, MAX_PROTOCOL_LEN);
+
+ else if(datatype == pattern)
+ {
+ if(strlen(line) >= MAX_PATTERN_LEN)
-+ exit_error(PARAMETER_PROBLEM, "Pattern in %s too long!", filename);
++ xtables_error(PARAMETER_PROBLEM, "Pattern in %s too long!", filename);
+ strncpy(info->pattern, line, MAX_PATTERN_LEN);
+
+ datatype = done;
+ break;
+ }
+ else
-+ exit_error(OTHER_PROBLEM, "Internal error");
++ xtables_error(OTHER_PROBLEM, "Internal error");
+ }
+
+ if(datatype != done)
-+ exit_error(OTHER_PROBLEM, "Failed to get all needed data from %s", filename);
++ xtables_error(OTHER_PROBLEM, "Failed to get all needed data from %s", filename);
+
+ if(line) free(line);
+ fclose(f);
+ case 'A' ... 'F':
+ return c - 'A' + 10;
+ default:
-+ exit_error(OTHER_PROBLEM, "hex2dec: bad value!\n");
++ xtables_error(OTHER_PROBLEM, "hex2dec: bad value!\n");
+ return 0;
+ }
+}
+ if (n < 0)
+ {
+ perror("scandir");
-+ exit_error(OTHER_PROBLEM, "Couldn't open %s\n", dirname);
++ xtables_error(OTHER_PROBLEM, "Couldn't open %s\n", dirname);
+ }
+ else
+ {
+
+ if(c > MAX_FN_LEN)
+ {
-+ exit_error(OTHER_PROBLEM,
++ xtables_error(OTHER_PROBLEM,
+ "Filename beginning with %s is too long!\n", filename);
+ }
+
+ }
+
+ if(!done)
-+ exit_error(OTHER_PROBLEM,
++ xtables_error(OTHER_PROBLEM,
+ "Couldn't find a pattern definition file for %s.\n", s);
+
+ /* process \xHH escapes and tolower everything. (our regex lib has no
+
+ switch (c) {
+ case '1':
-+ check_inverse(optarg, &invert, &optind, 0);
++ xtables_check_inverse(optarg, &invert, &optind, 0);
+ parse_layer7_protocol(argv[optind-1], layer7info);
+ if (invert)
+ layer7info->invert = 1;
+
+ case '2':
+ /* not going to use this, but maybe we need to strip a ! anyway (?) */
-+ check_inverse(optarg, &invert, &optind, 0);
++ xtables_check_inverse(optarg, &invert, &optind, 0);
+
+ if(strlen(argv[optind-1]) >= MAX_FN_LEN)
-+ exit_error(PARAMETER_PROBLEM, "directory name too long\n");
++ xtables_error(PARAMETER_PROBLEM, "directory name too long\n");
+
+ strncpy(l7dir, argv[optind-1], MAX_FN_LEN);
+
+static void final_check(unsigned int flags)
+{
+ if (!flags)
-+ exit_error(PARAMETER_PROBLEM,
++ xtables_error(PARAMETER_PROBLEM,
+ "LAYER7 match: You must specify `--l7proto'");
+}
+