X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fwhatnow.c;h=163a02ecb2106991e086144183741b7934a1d28e;hb=edfe67020b9039e59e318cfc7831e033bd3e2615;hp=914e2989cb6d08faa460cc640138e7320f9b5b0c;hpb=6e5da31c92f5a3fa38e010052c5a7743bfe1cf11;p=mmh diff --git a/uip/whatnow.c b/uip/whatnow.c index 914e298..163a02e 100644 --- a/uip/whatnow.c +++ b/uip/whatnow.c @@ -565,36 +565,22 @@ editfile(char **ed, char **arg, char *file, int use) static int sendfile(char **arg, char *file) { - pid_t child_id; - int vecp; + int vecp = 0; char *vec[MAXARGS]; - context_save(); /* save the context file */ + context_save(); fflush(stdout); - switch (child_id = fork()) { - case NOTOK: - advise(NULL, "unable to fork, so sending directly..."); - /* fall */ - case OK: - vecp = 0; - vec[vecp++] = "send"; - if (arg) - while (*arg) - vec[vecp++] = *arg++; - vec[vecp++] = file; - vec[vecp] = NULL; - - execvp("send", vec); - fprintf(stderr, "%s: unable to exec ", invo_name); - perror("send"); - _exit(-1); - - default: - if (pidwait(child_id, OK) == 0) - done(0); - return 1; + vec[vecp++] = "send"; + while (arg && *arg) { + vec[vecp++] = *arg++; } + vec[vecp++] = file; + vec[vecp] = NULL; + execvp(*vec, vec); + fprintf(stderr, "%s: unable to exec ", invo_name); + perror("send"); + _exit(-1); }