]> git.ipfire.org Git - people/ms/network.git/commitdiff
networkctl: Fix parsing commands
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 6 Jun 2023 10:24:08 +0000 (10:24 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 6 Jun 2023 10:24:08 +0000 (10:24 +0000)
We used to send the argument that was last parsed to the next function
which probably isn't very useful.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/networkctl/command.c
src/networkctl/main.c

index 7114efe62593bc7b7c75e46a38a3fa539e126082..99202dd0332308ebcad8b8eac1cff048620c5951 100644 (file)
@@ -36,10 +36,6 @@ static const struct command* command_find(const struct command* commands, const
 int command_dispatch(sd_bus* bus, const struct command* commands, int argc, char* argv[]) {
        const struct command* command = NULL;
 
-       argc -= optind;
-       argv += optind;
-       optind = 1;
-
        if (!argc) {
                fprintf(stderr, "Command required\n");
                return -EINVAL;
@@ -54,5 +50,5 @@ int command_dispatch(sd_bus* bus, const struct command* commands, int argc, char
                return -EINVAL;
        }
 
-       return command->callback(bus, argc, argv);
+       return command->callback(bus, argc - 1, argv + 1);
 }
index 73908f8f810940ee46841cb94bdb8523dc2b75f9..0ba72849fcca4f2c826b56764e426d0498add8de 100644 (file)
@@ -115,7 +115,7 @@ int main(int argc, char* argv[]) {
        }
 
        // Run a command
-       r = networkctl_main(bus, argc, argv);
+       r = networkctl_main(bus, argc - 1, argv + 1);
 
 ERROR:
        if (bus)