X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Frefile.c;h=00647ddd1463dbda1d0ce388e1f930b59b755361;hp=17c671554a21f81a1d4822d16687b296f230eaad;hb=240013872c392fe644bd4f79382d9f5314b4ea60;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/sbr/refile.c b/sbr/refile.c index 17c6715..00647dd 100644 --- a/sbr/refile.c +++ b/sbr/refile.c @@ -1,49 +1,50 @@ - /* - * refile.c -- call the "fileproc" to refile the - * -- msg or draft into another folder - * - * $Id$ - */ +** refile.c -- call the "fileproc" to refile the +** -- msg or draft into another folder +** +** 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 int -refile (char **arg, char *file) +refile(char **arg, char *file) { - pid_t pid; - register int vecp; - char *vec[MAXARGS]; - - vecp = 0; - vec[vecp++] = r1bindex (fileproc, '/'); - vec[vecp++] = "-nolink"; /* override bad .mh_profile defaults */ - vec[vecp++] = "-nopreserve"; - vec[vecp++] = "-file"; - vec[vecp++] = file; - - if (arg) { - while (*arg) - vec[vecp++] = *arg++; - } - vec[vecp] = NULL; - - context_save(); /* save the context file */ - fflush(stdout); - - switch (pid = vfork()) { - case -1: - advise ("fork", "unable to"); - return -1; - - case 0: - execvp (fileproc, vec); - fprintf (stderr, "unable to exec "); - perror (fileproc); - _exit (-1); - - default: - return (pidwait (pid, -1)); - } + pid_t pid; + register int vecp; + char *vec[MAXARGS]; + + vecp = 0; + vec[vecp++] = mhbasename(fileproc); + vec[vecp++] = "-nolink"; /* override bad .mh_profile defaults */ + vec[vecp++] = "-nopreserve"; + vec[vecp++] = "-file"; + vec[vecp++] = file; + + if (arg) { + while (*arg) + vec[vecp++] = *arg++; + } + vec[vecp] = NULL; + + context_save(); /* save the context file */ + fflush(stdout); + + switch (pid = vfork()) { + case -1: + advise("fork", "unable to"); + return -1; + + case 0: + execvp(fileproc, vec); + fprintf(stderr, "unable to exec "); + perror(fileproc); + _exit(-1); + + default: + return (pidwait(pid, -1)); + } }