---
 find.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/find.c b/find.c
index ce551e5..71488da 100644
--- a/find.c
+++ b/find.c
@@ -244,6 +244,7 @@ spawn(char *argv[])
        switch((pid = fork())) {
        case -1:
                eprintf("fork:");
+               return -1;
        case 0:
                execvp(*argv, argv);
                weprintf("exec %s failed:", *argv);
@@ -252,7 +253,7 @@ spawn(char *argv[])
 
        /* FIXME: proper course of action for waitpid() on EINTR? */
        waitpid(pid, &status, 0);
-       return status;
+       return WIFEXITED(status) && WEXITSTATUS(status) == 0 ? 0 : -1;
 }
 
 static int
-- 
2.48.1


Reply via email to