main: fix -r and -t options
Add -t option to optstring. Check for optarg when using -r. Fixes max_redirect initializing to the same value of max_clients when using short option -r.master
parent
c80bd1c525
commit
93eb1de2a7
14
src/main.c
14
src/main.c
|
@ -54,7 +54,7 @@ int main(int argc, char *argv[])
|
|||
exit(EXIT_FAILURE);
|
||||
|
||||
while (1) {
|
||||
val = getopt_long(argc, argv, "n:r::d", tip_repo_opts, NULL);
|
||||
val = getopt_long(argc, argv, "n:t:r::d", tip_repo_opts, NULL);
|
||||
if (val < 0)
|
||||
break;
|
||||
|
||||
|
@ -67,16 +67,18 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
break;
|
||||
case 'r':
|
||||
if (optind < argc &&
|
||||
if (optarg) {
|
||||
max_redirect = atoi(optarg);
|
||||
} else if (optind < argc &&
|
||||
argv[optind][0] != '-') {
|
||||
max_redirect = atoi(argv[optind++]);
|
||||
if (max_redirect < 0) {
|
||||
syslog(LOG_ERR, "Invalid number for redirections");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
} else {
|
||||
max_redirect = max_clients;
|
||||
}
|
||||
if (max_redirect < 0) {
|
||||
syslog(LOG_ERR, "Invalid number for redirections");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
break;
|
||||
case 't':
|
||||
root = strdup(optarg);
|
||||
|
|
Loading…
Reference in New Issue