|
|
1.1 root 1: #ident "@(#)receipt.c 1.3 'attmail mail(1) command'"
2: #ident "@(#)mailx:receipt.c 1.1"
3: #include "rcv.h"
4:
5: int icsubstr(); /* adb */
6:
7: void
8: receipt(mp)
9: struct message *mp;
10: {
11: struct headline hl;
12: char head[LINESIZE];
13: char buf[BUFSIZ];
14: FILE *pp, *fp;
15: char *mail, *s;
16:
17: if ((mail = value("sendmail")) == 0)
18: mail = MAIL;
19: if (icsubstr(hfield("default-options", mp, addone), "/receipt")
20: || icsubstr(hfield(">to", mp, addto), "/receipt")) {
21: sprintf(buf, "%s %s", mail, skin(nameof(mp)));
22: if (pp = npopen(buf, "w")) {
23: fp = setinput(mp);
24: readline(fp, head);
25: parse(head, &hl, buf);
26: fprintf(pp, "Original-Date: %s\n", hl.l_date);
27: if (s = hfield("message-id", mp, addone))
28: fprintf(pp, "Original-Message-ID: %s\n", s);
29: s = hfield("subject", mp, addone);
30: fprintf(pp, "Subject: RR: %s\n", s ? s : "(none)");
31: npclose(pp);
32: }
33: }
34: }
35:
36: int /* adb */
37: icsubstr(s1, s2)
38: char *s1, *s2;
39: {
40: char buf[LINESIZE];
41:
42: if (s1 && s2) {
43: istrcpy(buf, s1);
44: return substr(buf, s2) != -1;
45: } else
46: return 0;
47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.