]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/main: remove "-" from config array
authorTomas Krizek <tomas.krizek@nic.cz>
Fri, 13 Dec 2019 15:40:35 +0000 (16:40 +0100)
committerPetr Špaček <petr.spacek@nic.cz>
Thu, 19 Dec 2019 08:31:26 +0000 (09:31 +0100)
daemon/main.c

index 98256c046ca6d65b12bb5aae28785c3aba6a80e8..bfc1b44eb4b7b81e150091990dc99958211e6275 100644 (file)
@@ -765,10 +765,13 @@ int main(int argc, char **argv)
 
        /* Select which config files to load and verify they are read-able. */
        bool load_defaults = true;
-       for (size_t i = 0; i < args.config.len; ++i) {
+       size_t i = 0;
+       while (i < args.config.len) {
                const char *config = args.config.at[i];
                if (strcmp(config, "-") == 0) {
                        load_defaults = false;
+                       array_del(args.config, i);
+                       continue;  /* don't increment i */
                } else if (access(config, R_OK) != 0) {
                        char cwd[PATH_MAX];
                        get_workdir(cwd, sizeof(cwd));
@@ -776,6 +779,7 @@ int main(int argc, char **argv)
                                config, cwd, strerror(errno));
                        return EXIT_FAILURE;
                }
+               i++;
        }
        if (args.config.len == 0 && access("config", R_OK) == 0)
                array_push(args.config, "config");
@@ -884,9 +888,9 @@ int main(int argc, char **argv)
                goto cleanup;
        }
 
-       for (size_t i = 0; i < args.config.len; ++i) {
+       for (i = 0; i < args.config.len; ++i) {
                const char *config = args.config.at[i];
-               if (strcmp(config, "-") != 0 && engine_loadconf(&engine, config) != 0) {
+               if (engine_loadconf(&engine, config) != 0) {
                        ret = EXIT_FAILURE;
                        goto cleanup;
                }