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);
}