Deleted Added
full compact
1c1
< /*-
---
> /*
19c19
< static char sccsid[] = "@(#)mail.local.c 8.78 (Berkeley) 5/19/98";
---
> static char sccsid[] = "@(#)mail.local.c 8.83 (Berkeley) 12/17/1998";
105c105
< #if defined(NeXT)
---
> #if defined(NeXT) && !defined(__APPLE__)
218a219,222
> #ifndef MAILER_DAEMON
> # define MAILER_DAEMON "MAILER-DAEMON"
> #endif
>
225d228
< void err __P((const char *, ...)) __dead2;
230d232
< void warn __P((const char *, ...));
274c276
< warn("multiple -f options");
---
> mailerr(NULL, "multiple -f options");
347c349
< *p == '.' || *p == '-')
---
> strchr(".-_", *p))
357a360,361
> s = p;
>
397c401
< *p == '.' || *p == '-')
---
> strchr(".-_", *p))
406a411,415
> if (*s == '\0' || len <= 0)
> {
> s = MAILER_DAEMON;
> len = strlen(s);
> }
594c603
< FILE *fp;
---
> FILE *fp = NULL;
606,607c615,616
< e_to_sys(errno);
< err("unable to open temporary file");
---
> mailerr("451 4.3.0", "unable to open temporary file");
> exit(eval);
622,623c631,636
< if (line[strlen(line)-2] == '\r') {
< strcpy(line+strlen(line)-2, "\n");
---
> size_t line_len = strlen(line);
>
> if (line_len >= 2 &&
> line[line_len - 2] == '\r' &&
> line[line_len - 1] == '\n') {
> strcpy(line + line_len - 2, "\n");
625a639,640
> char *src = line + 1, *dest = line;
>
628c643,645
< strcpy(line, line+1);
---
> while (*src != '\0')
> *dest++ = *src++;
> *dest = '\0';
647,648c664,667
< e_to_sys(errno);
< err("temporary file write error");
---
> mailerr("451 4.3.0",
> "temporary file write error");
> fclose(fp);
> exit(eval);
675,676c694,696
< e_to_sys(errno);
< err("temporary file write error");
---
> mailerr("451 4.3.0", "temporary file write error");
> fclose(fp);
> exit(eval);
711c731,737
< warn("unknown name: %s", name);
---
> char *errcode = NULL;
>
> if (eval == EX_TEMPFAIL)
> errcode = "451 4.3.0";
> else
> errcode = "550 5.1.1";
> mailerr(errcode, "unknown name: %s", name);
766c792,793
< warn("%s: lstat: file changed after open", path);
---
> mailerr("550 5.2.0",
> "%s: lstat: file changed after open", path);
805c832,833
< warn("%s: fstat: file changed after open", path);
---
> mailerr("550 5.2.0", "%s: fstat: file changed after open",
> path);
857a886,887
> #if 0
> /* already printed an error above for this recipient */
860a891
> #endif
963d993
< warn("localhost: %s", strerror(errno));
971d1000
< warn("socket: %s", strerror(errno));
975,977c1004
< if (sendto(f, msg, len, 0, (struct sockaddr *)&addr, sizeof(addr))
< != len)
< warn("sendto biff: %s", strerror(errno));
---
> (void) sendto(f, msg, len, 0, (struct sockaddr *)&addr, sizeof(addr));
984c1011,1012
< err("usage: mail.local [-b] [-l] [-f from] [-s] user ...");
---
> mailerr(NULL, "usage: mail.local [-b] [-l] [-f from] [-s] user ...");
> exit(eval);
1006c1034,1035
< printf("%s ", hdr);
---
> if (hdr != NULL)
> printf("%s ", hdr);
1017d1045
< #ifdef __STDC__
1019,1060d1046
< err(const char *fmt, ...)
< #else
< void
< err(fmt, va_alist)
< const char *fmt;
< va_dcl
< #endif
< {
< va_list ap;
<
< #ifdef __STDC__
< va_start(ap, fmt);
< #else
< va_start(ap);
< #endif
< vwarn(fmt, ap);
< va_end(ap);
<
< exit(eval);
< }
<
< void
< #ifdef __STDC__
< warn(const char *fmt, ...)
< #else
< warn(fmt, va_alist)
< const char *fmt;
< va_dcl
< #endif
< {
< va_list ap;
<
< #ifdef __STDC__
< va_start(ap, fmt);
< #else
< va_start(ap);
< #endif
< vwarn(fmt, ap);
< va_end(ap);
< }
<
< void