3 /* format of REMOTE FROM lines */
5 "^>?From[ \t]+((\".*\")?[^\" \t]+?(\".*\")?[^\" \t]+?)[ \t]+(.+)[ \t]+remote[ \t]+from[ \t]+(.*)\n$";
6 int REMSENDERMATCH = 1;
10 /* format of LOCAL FROM lines */
12 "^>?From[ \t]+((\".*\")?[^\" \t]+?(\".*\")?[^\" \t]+?)[ \t]+(.+)\n$";
16 /* output a unix style local header */
18 print_header(Biobuf *fp, char *sender, char *date)
20 return Bprint(fp, "From %s %s\n", sender, date);
23 /* output a unix style remote header */
25 print_remote_header(Biobuf *fp, char *sender, char *date, char *system)
27 return Bprint(fp, "From %s %s remote from %s\n", sender, date, system);
30 /* parse a mailbox style header */
32 parse_header(char *line, String *sender, String *date)
36 line += sizeof("From ") - 1;
38 while(*line==' '||*line=='\t')
41 s_putc(sender, *line++);
42 while(*line && *line != '"')
43 s_putc(sender, *line++);
44 s_putc(sender, *line++);
46 while(*line && *line != ' ' && *line != '\t')
47 s_putc(sender, *line++);
51 while(*line==' '||*line=='\t')
54 s_putc(date, *line++);