+ {
+ r = read(STDIN_FILENO, buf, 5);
+ if (r != 5) {
+ unlink(fn);
+ err(EX_TEMPFAIL, "Failed read from stdin");
+ }
+
+ if (strncmp(buf, "From ", 5)) {
+ while ((r = read(STDIN_FILENO, buf, 1)) > 0
+ || (r == -1 && errno == EINTR)) {
+ if (buf[0] == '\n') {
+ break;
+ }
+ }
+
+ if (r == -1) {
+ unlink(fn);
+ err(EX_TEMPFAIL, "Failed read from stdin");
+ }
+ } else {
+ if (full_write(fd, buf, r) != r) {
+ unlink(fn);
+ err(EX_TEMPFAIL, "Failed write(%s)", fn);
+ }
+ }
+ }
+