Remove RCS keywords, since they no longer work after git migration.
[mmh] / sbr / showfile.c
1
2 /*
3  * showfile.c -- invoke the `lproc' command
4  *
5  * This code is Copyright (c) 2002, by the authors of nmh.  See the
6  * COPYRIGHT file in the root directory of the nmh distribution for
7  * complete copyright information.
8  */
9
10 #include <h/mh.h>
11
12
13 int
14 showfile (char **arg, char *file)
15 {
16     pid_t pid;
17     int isdraft, vecp;
18     char *vec[MAXARGS];
19
20     context_save();     /* save the context file */
21     fflush(stdout);
22
23     /*
24      * If you have your lproc listed as "mhl",
25      * then really invoked the mhlproc instead
26      * (which is usually mhl anyway).
27      */
28     if (!strcmp (r1bindex (lproc, '/'), "mhl"))
29         lproc = mhlproc;
30
31     switch (pid = vfork()) {
32     case -1:
33         /* fork error */
34         advise ("fork", "unable to");
35         return 1;
36
37     case 0:
38         /* child */
39         vecp = 0;
40         vec[vecp++] = r1bindex (lproc, '/');
41         isdraft = 1;
42         if (arg) {
43             while (*arg) {
44                 if (**arg != '-')
45                     isdraft = 0;
46                 vec[vecp++] = *arg++;
47             }
48         }
49         if (isdraft) {
50             if (!strcmp (vec[0], "show"))
51                 vec[vecp++] = "-file";
52             vec[vecp++] = file;
53         }
54         vec[vecp] = NULL;
55
56         execvp (lproc, vec);
57         fprintf (stderr, "unable to exec ");
58         perror (lproc);
59         _exit (-1);
60
61     default:
62         /* parent */
63         return (pidwait (pid, -1) & 0377 ? 1 : 0);
64     }
65
66     return 1;   /* NOT REACHED */
67 }