- if ((status = pidXwait(child_id, postproc))) {
- fprintf (stderr, "Letter saved in dead.letter\n");
- execl ("/bin/mv", "mv", tmpfil, "dead.letter", NULL);
- execl ("/usr/bin/mv", "mv", tmpfil, "dead.letter", NULL);
- perror ("mv");
- _exit (-1);
+ if ((status = pidXwait(child_id, *vec))) {
+ /* spost failed, save draft as dead.letter */
+ int in, out;
+
+ in = open(tmpfil, O_RDONLY);
+ out = creat("dead.letter", 0600);
+ if (in == -1 || out == -1) {
+ fprintf(stderr, "Letter left at %s.\n",
+ tmpfil);
+ done(status ? 1 : 0);
+ }
+ cpydata(in, out, tmpfil, "dead.letter");
+ close(in);
+ close(out);
+ fprintf(stderr, "Letter saved in dead.letter\n");