summaryrefslogtreecommitdiff
path: root/src/tools/irm/irm_bind_program.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-08-16 18:36:34 +0000
committerSander Vrijders <sander@ouroboros.rocks>2026-08-31 08:31:45 +0200
commit251ee95294bd1554591c2a3b3d1d6428315dad52 (patch)
tree383802e51108729ad71b27291230595c4b02acf2 /src/tools/irm/irm_bind_program.c
parentc63b6d3aed21f474080dd491f5583123448dd1ba (diff)
downloadouroboros-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_bind_program.c')
-rw-r--r--src/tools/irm/irm_bind_program.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/tools/irm/irm_bind_program.c b/src/tools/irm/irm_bind_program.c
index 14d09db7..592c2ec3 100644
--- a/src/tools/irm/irm_bind_program.c
+++ b/src/tools/irm/irm_bind_program.c
@@ -67,18 +67,23 @@ int do_bind_program(int argc,
int ret = 0;
char * temp = NULL;
+ if (argc < 1) {
+ usage();
+ return -1;
+ }
+
+ temp = realpath(*argv, NULL);
+ if (temp != NULL)
+ *argv = temp;
+ prog = *argv;
+ ++argv;
+ --argc;
+
while (argc > 0) {
if (matches(*argv, "name") == 0) {
name = *(argv + 1);
++argv;
--argc;
- } else if (matches(*argv, "program") == 0) {
- ++argv;
- temp = realpath(*argv, NULL);
- if (temp != NULL)
- *argv = temp;
- prog = *argv;
- --argc;
} else if (strcmp(*argv, "auto") == 0) {
flags |= BIND_AUTO;
} else if (strcmp(*argv, "--") == 0) {