unixnt.c | unixnt.c | |||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
/* | /* | |||
* Program: UNIX mail routines | * Program: UNIX mail routines | |||
* | * | |||
* Author: Mark Crispin | * Author: Mark Crispin | |||
* UW Technology | * UW Technology | |||
* University of Washington | * University of Washington | |||
* Seattle, WA 98195 | * Seattle, WA 98195 | |||
* Internet: MRC@CAC.Washington.EDU | * Internet: MRC@CAC.Washington.EDU | |||
* | * | |||
* Date: 20 December 1989 | * Date: 20 December 1989 | |||
* Last Edited: 20 February 2008 | * Last Edited: 27 March 2008 | |||
*/ | */ | |||
/* DEDICATION | /* DEDICATION | |||
* | * | |||
* This file is dedicated to my dog, Unix, also known as Yun-chan and | * This file is dedicated to my dog, Unix, also known as Yun-chan and | |||
* Unix J. Terwilliker Jehosophat Aloysius Monstrosity Animal Beast. Unix | * Unix J. Terwilliker Jehosophat Aloysius Monstrosity Animal Beast. Unix | |||
* passed away at the age of 11 1/2 on September 14, 1996, 12:18 PM PDT, af ter | * passed away at the age of 11 1/2 on September 14, 1996, 12:18 PM PDT, af ter | |||
* a two-month bout with cirrhosis of the liver. | * a two-month bout with cirrhosis of the liver. | |||
* | * | |||
* He was a dear friend, and I miss him terribly. | * He was a dear friend, and I miss him terribly. | |||
skipping to change at line 1482 | skipping to change at line 1482 | |||
s[5] == 'w' && s[6] == 'o' && s[7] == 'r' && | s[5] == 'w' && s[6] == 'o' && s[7] == 'r' && | |||
s[8] == 'd' && s[9] == 's' && s[10] == ':') { | s[8] == 'd' && s[9] == 's' && s[10] == ':') { | |||
SIZEDTEXT uf; | SIZEDTEXT uf; | |||
retain = NIL; /* don't retain continuation */ | retain = NIL; /* don't retain continuation */ | |||
s += 11; /* flush leading whitespace */ | s += 11; /* flush leading whitespace */ | |||
while (*s && (*s != '\n') && ((*s != '\r') || (s[1] != '\n') )){ | while (*s && (*s != '\n') && ((*s != '\r') || (s[1] != '\n') )){ | |||
while (*s == ' ') s++; | while (*s == ' ') s++; | |||
/* find end of keyword */ | /* find end of keyword */ | |||
if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); | if (!(u = strpbrk (s," \n\r"))) u = s + strlen (s); | |||
/* got a keyword? */ | /* got a keyword? */ | |||
if ((k = (u - s)) <= MAXUSERFLAG) { | if ((k = (u - s)) && (k <= MAXUSERFLAG)) { | |||
uf.data = (unsigned char *) s; | uf.data = (unsigned char *) s; | |||
uf.size = k; | uf.size = k; | |||
for (j = 0; (j < NUSERFLAGS) && stream->user_flags[j]; + +j) | for (j = 0; (j < NUSERFLAGS) && stream->user_flags[j]; + +j) | |||
if (!compare_csizedtext (stream->user_flags[j],&uf)) { | if (!compare_csizedtext (stream->user_flags[j],&uf)) { | |||
elt->user_flags |= ((long) 1) << j; | elt->user_flags |= ((long) 1) << j; | |||
break; | break; | |||
} | } | |||
} | } | |||
s = u; /* advance to next keyword */ | s = u; /* advance to next keyword */ | |||
} | } | |||
skipping to change at line 1535 | skipping to change at line 1535 | |||
} | } | |||
/* save UID last */ | /* save UID last */ | |||
stream->uid_last = j; | stream->uid_last = j; | |||
/* process keywords */ | /* process keywords */ | |||
for (j = 0; (*s != '\n') && ((*s != '\r')||(s[1] != '\n' )); | for (j = 0; (*s != '\n') && ((*s != '\r')||(s[1] != '\n' )); | |||
s = u,j++) { | s = u,j++) { | |||
/* flush leading whitespace */ | /* flush leading whitespace */ | |||
while (*s == ' ') s++; | while (*s == ' ') s++; | |||
u = strpbrk (s," \n\r"); | u = strpbrk (s," \n\r"); | |||
/* got a keyword? */ | /* got a keyword? */ | |||
if ((j < NUSERFLAGS) && ((k = (u - s)) <= MAXUSERFLAG) | if ((j < NUSERFLAGS) && (k = (u - s)) && | |||
) { | (k <= MAXUSERFLAG)) { | |||
if (stream->user_flags[j]) | if (stream->user_flags[j]) | |||
fs_give ((void **) &stream->user_flags[j]); | fs_give ((void **) &stream->user_flags[j]); | |||
stream->user_flags[j] = (char *) fs_get (k + 1); | stream->user_flags[j] = (char *) fs_get (k + 1); | |||
strncpy (stream->user_flags[j],s,k); | strncpy (stream->user_flags[j],s,k); | |||
stream->user_flags[j][k] = '\0'; | stream->user_flags[j][k] = '\0'; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
break; | break; | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |