mail.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 58 行

C
58
字号
#include "common.h"/* format of REMOTE FROM lines */char *REMFROMRE =	"^>?From[ \t]+((\".*\")?[^\" \t]+?(\".*\")?[^\" \t]+?)[ \t]+(.+)[ \t]+remote[ \t]+from[ \t]+(.*)\n$";int REMSENDERMATCH = 1;int REMDATEMATCH = 4;int REMSYSMATCH = 5;/* format of LOCAL FROM lines */char *FROMRE =	"^>?From[ \t]+((\".*\")?[^\" \t]+?(\".*\")?[^\" \t]+?)[ \t]+(.+)\n$";int SENDERMATCH = 1;int DATEMATCH = 4;/* output a unix style local header */intprint_header(Biobuf *fp, char *sender, char *date){	return Bprint(fp, "From %s %s\n", sender, date);}/* output a unix style remote header */intprint_remote_header(Biobuf *fp, char *sender, char *date, char *system){	return Bprint(fp, "From %s %s remote from %s\n", sender, date, system);}/* parse a mailbox style header */intparse_header(char *line, String *sender, String *date){	if (!IS_HEADER(line))		return -1;	line += sizeof("From ") - 1;	s_restart(sender);	while(*line==' '||*line=='\t')		line++;	if(*line == '"'){		s_putc(sender, *line++);		while(*line && *line != '"')			s_putc(sender, *line++);		s_putc(sender, *line++);	} else {		while(*line && *line != ' ' && *line != '\t')			s_putc(sender, *line++);	}	s_terminate(sender);	s_restart(date);	while(*line==' '||*line=='\t')		line++;	while(*line)		s_putc(date, *line++);	s_terminate(date);	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?