From 5254ad4c3defeaba19a5aebd0e04d0ff39ac4b95 Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Tue, 2 Nov 2004 10:54:54 +0000 Subject: [PATCH] A variable name was clobbered. The first argument to execvp() was of type object, instead of a pointer to a string. --- src/c/unixsys.d | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/c/unixsys.d b/src/c/unixsys.d index ec781b511..9f8d0fc2c 100644 --- a/src/c/unixsys.d +++ b/src/c/unixsys.d @@ -246,7 +246,6 @@ si_close_pipe(cl_object stream) } #else { - int child_pid; int child_stdin, child_stdout, child_stderr; argv = CONS(command, nconc(argv, CONS(Cnil, Cnil))); argv = cl_funcall(3, @'coerce', argv, @'vector'); @@ -298,9 +297,10 @@ si_close_pipe(cl_object stream) argv_ptr[j] = arg->string.self; } } - if (execvp(command, argv_ptr) < 0) { - abort(); - } + execvp(command->string.self, argv_ptr); + /* at this point exec has failed */ + perror("exec"); + abort(); } close(child_stdin); close(child_stdout);