diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-08-16 18:36:34 +0000 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-08-31 08:31:45 +0200 |
| commit | 251ee95294bd1554591c2a3b3d1d6428315dad52 (patch) | |
| tree | 383802e51108729ad71b27291230595c4b02acf2 /src/tools/irm/irm_unbind_ipcp.c | |
| parent | c63b6d3aed21f474080dd491f5583123448dd1ba (diff) | |
| download | ouroboros-251ee95294bd1554591c2a3b3d1d6428315dad52.tar.gz ouroboros-251ee95294bd1554591c2a3b3d1d6428315dad52.zip | |
tools: Fix irm CLI arg parsing
Fixes "irm name list" matching "list" instead of "name" and improves guards
against missing (last) arguments.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/tools/irm/irm_unbind_ipcp.c')
| -rw-r--r-- | src/tools/irm/irm_unbind_ipcp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/tools/irm/irm_unbind_ipcp.c b/src/tools/irm/irm_unbind_ipcp.c index 23e25057..5d78603d 100644 --- a/src/tools/irm/irm_unbind_ipcp.c +++ b/src/tools/irm/irm_unbind_ipcp.c @@ -63,15 +63,20 @@ int do_unbind_ipcp(int argc, ssize_t len; ssize_t i; + if (argc < 1) { + usage(); + return -1; + } + + ipcp = *argv; + ++argv; + --argc; + while (argc > 0) { if (matches(*argv, "name") == 0) { name = *(argv + 1); ++argv; --argc; - } else if (matches(*argv, "ipcp") == 0) { - ipcp = *(argv + 1); - ++argv; - --argc; } else { printf("\"%s\" is unknown, try \"irm " "unbind ipcp\".\n", *argv); |
