X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/3b6be5607a251a3a793e97382e251ce66ea2bca0..394a751fd883d2bbfc769fed7e254e008a2ef45e:/sbr/showfile.c?ds=sidebyside diff --git a/sbr/showfile.c b/sbr/showfile.c index c7223c21..7daadaed 100644 --- a/sbr/showfile.c +++ b/sbr/showfile.c @@ -1,21 +1,25 @@ - -/* - * showfile.c -- invoke the `lproc' command +/* showfile.c -- invoke the `lproc' command * * 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. */ -#include +#include "h/mh.h" +#include "showfile.h" +#include "r1bindex.h" +#include "context_save.h" +#include "arglist.h" +#include "error.h" int showfile (char **arg, char *file) { pid_t pid; - int isdraft, vecp; + int vecp; char **vec, *program; + int retval = 1; context_save(); /* save the context file */ fflush(stdout); @@ -28,20 +32,20 @@ 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 */ vec = argsplit(lproc, &program, &vecp); - isdraft = 1; + bool isdraft = true; if (arg) { while (*arg) { if (**arg != '-') - isdraft = 0; + isdraft = false; vec[vecp++] = *arg++; } } @@ -55,12 +59,12 @@ showfile (char **arg, char *file) execvp (program, vec); fprintf (stderr, "unable to exec "); perror (lproc); - _exit (-1); + _exit(1); default: /* parent */ - return (pidwait (pid, -1) & 0377 ? 1 : 0); + retval = pidwait (pid, -1) & 0377 ? 1 : 0; } - return 1; /* NOT REACHED */ + return retval; }