X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/02e28520c4b36386258cc74a2534970c177ec6c2..86b1fbb19b287c67f43fd280a13c81eea72583a3:/sbr/m_getfld.c diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index 3a6d50eb..2e1ed998 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -268,7 +268,8 @@ void m_getfld_state_init (m_getfld_state_t *gstate, FILE *iob) { m_getfld_state_t s; - s = *gstate = (m_getfld_state_t) mh_xmalloc(sizeof (struct m_getfld_state)); + NEW(s); + *gstate = s; s->readpos = s->end = s->msg_buf; s->bytes_read = s->total_bytes_read = 0; s->last_caller_pos = s->last_internal_pos = 0; @@ -483,23 +484,23 @@ m_getfld (m_getfld_state_t *gstate, char name[NAMESZ], char *buf, int *bufsz, FILE *iob) { m_getfld_state_t s; - register char *cp; - register int max, n, c; + char *cp; + int max, n, c; enter_getfld (gstate, iob); s = *gstate; - if ((c = Getc(s)) < 0) { + if ((c = Getc(s)) == EOF) { *bufsz = *buf = 0; leave_getfld (s); return s->state = FILEEOF; } if (eom (c, s)) { /* flush null messages */ - while ((c = Getc(s)) >= 0 && eom (c, s)) + while ((c = Getc(s)) != EOF && eom (c, s)) ; - if (c >= 0) + if (c != EOF) Ungetc(c, s); *bufsz = *buf = 0; leave_getfld (s); @@ -510,13 +511,14 @@ m_getfld (m_getfld_state_t *gstate, char name[NAMESZ], char *buf, int *bufsz, case FLD: if (c == '\n' || c == '-') { /* we hit the header/body separator */ - while (c != '\n' && (c = Getc(s)) >= 0) continue; + while (c != '\n' && (c = Getc(s)) != EOF) + ; - if (c < 0 || (c = Getc(s)) < 0 || eom (c, s)) { + if (c == EOF || (c = Getc(s)) == EOF || eom (c, s)) { /* flush null messages */ - while ((c = Getc(s)) >= 0 && eom (c, s)) + while ((c = Getc(s)) != EOF && eom (c, s)) ; - if (c >= 0) + if (c != EOF) Ungetc(c, s); *bufsz = *buf = 0; leave_getfld (s); @@ -760,11 +762,11 @@ void m_unknown(m_getfld_state_t *gstate, FILE *iob) { m_getfld_state_t s; - register int c; + int c; char text[MAX_DELIMITER_SIZE]; char from[] = "From "; - register char *cp; - register char *delimstr; + char *cp; + char *delimstr; unsigned int i; enter_getfld (gstate, iob); @@ -797,7 +799,8 @@ m_unknown(m_getfld_state_t *gstate, FILE *iob) if (i == sizeof from-1 && strncmp (text, "From ", sizeof from-1) == 0) { s->msg_style = MS_MBOX; delimstr = "\nFrom "; - while ((c = Getc (s)) != '\n' && c >= 0) continue; + while ((c = Getc(s)) != EOF && c != '\n') + ; } else { /* not a Unix style maildrop */ s->readpos -= s->bytes_read; @@ -830,9 +833,9 @@ m_unknown(m_getfld_state_t *gstate, FILE *iob) if (s->msg_style == MS_MMDF) { /* flush extra msg hdrs */ - while ((c = Getc(s)) >= 0 && eom (c, s)) + while ((c = Getc(s)) != EOF && eom (c, s)) ; - if (c >= 0) + if (c != EOF) Ungetc(c, s); } @@ -847,7 +850,7 @@ m_unknown(m_getfld_state_t *gstate, FILE *iob) static int m_Eom (m_getfld_state_t s) { - register int i; + int i; char text[MAX_DELIMITER_SIZE]; char *cp; @@ -880,9 +883,8 @@ m_Eom (m_getfld_state_t s) if (s->msg_style == MS_MBOX) { int c; - while ((c = Getc (s)) != '\n') - if (c < 0) - break; + while ((c = Getc(s)) != EOF && c != '\n') + ; } return 1; @@ -892,11 +894,11 @@ m_Eom (m_getfld_state_t s) static char * matchc(int patln, char *pat, int strln, char *str) { - register char *es = str + strln - patln; - register char *sp; - register char *pp; - register char *ep = pat + patln; - register char pc = *pat++; + char *es = str + strln - patln; + char *sp; + char *pp; + char *ep = pat + patln; + char pc = *pat++; for(;;) { while (pc != *str++)