+
+ } else {
+ /* parent process */
+ 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);
+ /* sysexits.h exit-status from spost */
+ exit(status ? 1 : 0);
+ }
+ cpydata(in, out, tmpfil, "dead.letter");
+ close(in);
+ close(out);
+ fprintf(stderr, "Letter saved in dead.letter\n");
+ }
+ unlink(tmpfil);
+ /* sysexits.h exit status from spost */
+ exit(status ? 1 : 0);