version 1.30, 2015/10/10 15:47:22 |
version 1.31, 2015/10/11 17:39:50 |
|
|
int c; |
int c; |
unsigned int order; |
unsigned int order; |
int reverse_flag; |
int reverse_flag; |
|
char **files; |
|
int i, j; |
|
|
order = 0; |
i = 0; |
|
|
reverse_flag = quiet_flag = long_flag = |
reverse_flag = quiet_flag = long_flag = |
warn_flag = hints_flag = verbose_flag = 0; |
warn_flag = hints_flag = verbose_flag = 0; |
nodes_init(pairs); |
/* argc is good enough, as we start at argv[1] */ |
|
files = ereallocarray(NULL, argc, sizeof (char *)); |
while ((c = getopt(argc, argv, "h:flqrvw")) != -1) { |
while ((c = getopt(argc, argv, "h:flqrvw")) != -1) { |
switch(c) { |
switch(c) { |
case 'h': { |
case 'h': |
FILE *f; |
files[i++] = optarg; |
|
|
f = fopen(optarg, "r"); |
|
if (f == NULL) |
|
err(EX_NOINPUT, "Can't open hint file %s", |
|
optarg); |
|
order = read_hints(f, pairs, quiet_flag, |
|
optarg, order); |
|
fclose(f); |
|
} |
|
hints_flag = 1; |
hints_flag = 1; |
break; |
break; |
/*FALLTHRU*/ |
/*FALLTHRU*/ |
|
|
argv += optind; |
argv += optind; |
|
|
switch(argc) { |
switch(argc) { |
case 1: { |
case 1: |
|
files[i++] = argv[0]; |
|
break; |
|
case 0: |
|
break; |
|
default: |
|
usage(); |
|
} |
|
|
|
files[i] = NULL; |
|
|
|
nodes_init(pairs); |
|
order = 0; |
|
|
|
for (j = 0; j != i-argc; j++) { |
FILE *f; |
FILE *f; |
|
|
|
f = fopen(files[j], "r"); |
|
if (f == NULL) |
|
err(EX_NOINPUT, "Can't open hint file %s", files[i]); |
|
order = read_hints(f, pairs, quiet_flag, files[i], order); |
|
fclose(f); |
|
} |
|
free(files); |
|
|
|
if (argc == 1) { |
|
FILE *f; |
|
|
f = fopen(argv[0], "r"); |
f = fopen(argv[0], "r"); |
if (f == NULL) |
if (f == NULL) |
err(EX_NOINPUT, "Can't open file %s", argv[0]); |
err(EX_NOINPUT, "Can't open file %s", argv[0]); |
order = read_pairs(f, pairs, reverse_flag, argv[0], order, |
order = read_pairs(f, pairs, reverse_flag, argv[0], order, |
hints_flag == 2); |
hints_flag == 2); |
fclose(f); |
fclose(f); |
break; |
} else { |
} |
|
case 0: |
|
order = read_pairs(stdin, pairs, reverse_flag, "stdin", |
order = read_pairs(stdin, pairs, reverse_flag, "stdin", |
order, hints_flag == 2); |
order, hints_flag == 2); |
break; |
|
default: |
|
usage(); |
|
} |
} |
} |
} |
|
|