|
|
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.