version 1.15, 2001/11/19 19:02:17 |
version 1.16, 2002/02/07 07:17:38 |
|
|
while (fgets(buf, sizeof(buf), stdin) && *buf != '\n') |
while (fgets(buf, sizeof(buf), stdin) && *buf != '\n') |
switch(*buf) { |
switch(*buf) { |
case 'F': /* "From " */ |
case 'F': /* "From " */ |
|
case 'f': |
cont = 0; |
cont = 0; |
if (!strncmp(buf, "From ", 5)) { |
if (!strncasecmp(buf, "From ", 5)) { |
for (p = buf + 5; *p && *p != ' '; ++p) |
for (p = buf + 5; *p && *p != ' '; ++p) |
; |
; |
*p = '\0'; |
*p = '\0'; |
|
|
} |
} |
break; |
break; |
case 'R': /* "Return-Path:" */ |
case 'R': /* "Return-Path:" */ |
|
case 'r': |
cont = 0; |
cont = 0; |
if (strncasecmp(buf, "Return-Path:", |
if (strncasecmp(buf, "Return-Path:", |
sizeof("Return-Path:")-1) || |
sizeof("Return-Path:")-1) || |
|
|
exit(0); |
exit(0); |
break; |
break; |
case 'P': /* "Precedence:" */ |
case 'P': /* "Precedence:" */ |
|
case 'p': |
cont = 0; |
cont = 0; |
if (strncasecmp(buf, "Precedence", 10) || |
if (strncasecmp(buf, "Precedence", 10) || |
(buf[10] != ':' && buf[10] != ' ' && |
(buf[10] != ':' && buf[10] != ' ' && |
|
|
exit(0); |
exit(0); |
break; |
break; |
case 'S': /* Subject: */ |
case 'S': /* Subject: */ |
|
case 's': |
cont = 0; |
cont = 0; |
if (strncasecmp(buf, "Subject:", |
if (strncasecmp(buf, "Subject:", |
sizeof("Subject:")-1) || |
sizeof("Subject:")-1) || |
|
|
*p = '\0'; |
*p = '\0'; |
break; |
break; |
case 'C': /* "Cc:" */ |
case 'C': /* "Cc:" */ |
if (strncmp(buf, "Cc:", 3)) |
case 'c': |
|
if (strncasecmp(buf, "Cc:", 3)) |
break; |
break; |
cont = 1; |
cont = 1; |
goto findme; |
goto findme; |
case 'T': /* "To:" */ |
case 'T': /* "To:" */ |
if (strncmp(buf, "To:", 3)) |
case 't': |
|
if (strncasecmp(buf, "To:", 3)) |
break; |
break; |
cont = 1; |
cont = 1; |
goto findme; |
goto findme; |