- while (1) {
- static struct option opts[] = {
- {"rel", no_argument, NULL, 'r'},
- {"freq", required_argument, NULL, 'f'},
- {"samples", required_argument, NULL, 'n'},
- {"pss", no_argument, NULL, 'p'},
- {"output", required_argument, NULL, 'o'},
- {"init", required_argument, NULL, 'i'},
- {"no-filter", no_argument, NULL, 'F'},
- {"cmdline", no_argument, NULL, 'C'},
- {"help", no_argument, NULL, 'h'},
- {"scale-x", required_argument, NULL, 'x'},
- {"scale-y", required_argument, NULL, 'y'},
- {"entropy", no_argument, NULL, 'e'},
- {NULL, 0, NULL, 0}
- };
-
- gind = 0;
-
- i = getopt_long(argc, argv, "erpf:n:o:i:FChx:y:", opts, &gind);
- if (i == -1)
- break;
- switch (i) {
+ if (init != NULL)
+ strscpy(arg_init_path, sizeof(arg_init_path), init);
+ if (output != NULL)
+ strscpy(arg_output_path, sizeof(arg_output_path), output);
+}
+
+static int parse_args(int argc, char *argv[]) {
+ static struct option options[] = {
+ {"rel", no_argument, NULL, 'r'},
+ {"freq", required_argument, NULL, 'f'},
+ {"samples", required_argument, NULL, 'n'},
+ {"pss", no_argument, NULL, 'p'},
+ {"output", required_argument, NULL, 'o'},
+ {"init", required_argument, NULL, 'i'},
+ {"no-filter", no_argument, NULL, 'F'},
+ {"cmdline", no_argument, NULL, 'C'},
+ {"help", no_argument, NULL, 'h'},
+ {"scale-x", required_argument, NULL, 'x'},
+ {"scale-y", required_argument, NULL, 'y'},
+ {"entropy", no_argument, NULL, 'e'},
+ {NULL, 0, NULL, 0}
+ };
+ int c;
+
+ while ((c = getopt_long(argc, argv, "erpf:n:o:i:FChx:y:", options, NULL)) >= 0) {
+ int r;
+
+ switch (c) {