From 767024dc585fee170473224dafb13c3fa4a0b2a3 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Thu, 16 Apr 2020 08:47:52 +0200
Subject: [PATCH] Fix the lkt command parsing, check the default command only
 if no match was found

---
 src/cmd.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/cmd.c b/src/cmd.c
index 6cc748e8..2516c37f 100644
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -24,15 +24,6 @@ lkt_cmd_parse(struct lkt_cmd_opt *opts, int argc, const char **argv, void (*help
         it = opts + (++offset);
     }
 
-    /* The default function */
-    if (!it->name && it->call) {
-        struct lkt_cmd_args arguments = {
-            .argc = argc,
-            .argv = (const char **) argv,
-        };
-        it->call(&arguments);
-    }
-
     /* Now search for a unique match */
     if (count > 1)
         goto not_exclusive;
@@ -50,6 +41,15 @@ lkt_cmd_parse(struct lkt_cmd_opt *opts, int argc, const char **argv, void (*help
     exit(EXIT_FAILURE);
 
 not_found:
+    /* The default function */
+    if (!it->name && it->call) {
+        struct lkt_cmd_args arguments = {
+            .argc = argc,
+            .argv = (const char **) argv,
+        };
+        it->call(&arguments);
+    }
+
     fprintf(stderr, "Command '%s' could not be found\n", argv[0]);
     exit(EXIT_FAILURE);
 
-- 
GitLab