]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
main: fix exiting with --help etc.
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 30 Jan 2018 10:45:41 +0000 (11:45 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 30 Jan 2018 12:49:35 +0000 (13:49 +0100)
daemon/main.c

index d0bced44150cc3fc5f084321407557d71b8092ee..046a19a279ba22aeea043d9aa50031a87d814ea3 100644 (file)
@@ -475,7 +475,10 @@ static void args_init(struct args *args)
        args->quiet = false;
 }
 
-int parse_args(int argc, char **argv, struct args *args)
+/** Process arguments into struct args.
+ * @return >=0 if main() should be exited immediately.
+ */
+static int parse_args(int argc, char **argv, struct args *args)
 {
        /* Long options. */
        int c = 0, li = 0;
@@ -554,11 +557,11 @@ int parse_args(int argc, char **argv, struct args *args)
                        help(argc, argv);
                        return EXIT_FAILURE;
                }
-       }       
+       }
        if (optind < argc) {
                args->rundir = argv[optind];
        }
-       return EXIT_SUCCESS;
+       return -1;
 }
 
 static int bind_fds(struct network *net, fd_array_t *fd_set, bool tls) {
@@ -595,7 +598,7 @@ int main(int argc, char **argv)
        int ret = 0;
        struct args args;
        args_init(&args);
-       if ((ret = parse_args(argc, argv, &args)) != EXIT_SUCCESS) {
+       if ((ret = parse_args(argc, argv, &args)) >= 0) {
                return ret;
        }