]> git.ipfire.org Git - pakfire.git/commitdiff
execute: Return 127 when a command could not be found
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 30 Apr 2021 15:36:56 +0000 (15:36 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 30 Apr 2021 15:36:56 +0000 (15:36 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/execute.c

index 703d9f9a836fceda33d0ab39c427f8dd5c92ee1c..069d6955e516e922dfec4c920eae57aff8bb8711 100644 (file)
@@ -330,8 +330,18 @@ static int pakfire_execute_fork(void* data) {
                ERROR(pakfire, "Could not execve(): %s\n", strerror(errno));
        }
 
+       // Translate errno into regular exit code
+       switch (errno) {
+               case ENOENT:
+                       r = 127;
+                       break;
+
+               default:
+                       r = 1;
+       }
+
        // We should not get here
-       return 1;
+       return r;
 }
 
 PAKFIRE_EXPORT int pakfire_execute(Pakfire pakfire, const char* argv[], char* envp[],