X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..fb6ea8dca0129dbb93ecb5fe1147a7b03138bbf8:/sbr/showfile.c diff --git a/sbr/showfile.c b/sbr/showfile.c index c099c1cd..1d4bd17f 100644 --- a/sbr/showfile.c +++ b/sbr/showfile.c @@ -2,8 +2,6 @@ /* * showfile.c -- invoke the `lproc' command * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -17,7 +15,8 @@ showfile (char **arg, char *file) { pid_t pid; int isdraft, vecp; - char *vec[MAXARGS]; + char **vec, *program; + int retval = 1; context_save(); /* save the context file */ fflush(stdout); @@ -30,16 +29,15 @@ showfile (char **arg, char *file) if (!strcmp (r1bindex (lproc, '/'), "mhl")) lproc = mhlproc; - switch (pid = vfork()) { + switch (pid = fork()) { case -1: /* fork error */ advise ("fork", "unable to"); - return 1; + break; case 0: /* child */ - vecp = 0; - vec[vecp++] = r1bindex (lproc, '/'); + vec = argsplit(lproc, &program, &vecp); isdraft = 1; if (arg) { while (*arg) { @@ -55,15 +53,15 @@ showfile (char **arg, char *file) } vec[vecp] = NULL; - execvp (lproc, vec); + execvp (program, vec); fprintf (stderr, "unable to exec "); perror (lproc); _exit (-1); default: /* parent */ - return (pidwait (pid, -1) & 0377 ? 1 : 0); + retval = pidwait (pid, -1) & 0377 ? 1 : 0; } - return 1; /* NOT REACHED */ + return retval; }