X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/d6b2ae5fa68b9a82ffc006c233aef64c5cdb3bd2..9a6d835cfe7761f6a85f84233d9d93722efe6ecc:/sbr/m_getfld.c diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index b0960547..4da2f3ee 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -90,7 +90,7 @@ be parsed as well. Unfortunately the speed issue finally caught up with us since this routine is at the very heart of MH. - To speed things up considerably, the routine Eom() was made an auxilary + To speed things up considerably, the routine Eom() was made an auxiliary function called by the macro eom(). Unless we are bursting a maildrop, the eom() macro returns FALSE saying we aren't at the end of the message. @@ -444,29 +444,21 @@ read_more (m_getfld_state_t s) { but EOF is typically 0xffffffff. */ static int Getc (m_getfld_state_t s) { - if (s->end - s->readpos < 1) { - if (read_more (s) == 0) { - /* Pretend that we read a character. That's what stdio does. */ - ++s->readpos; - return EOF; - } + if (s->end - s->readpos < 1 && read_more (s) == 0) { + return EOF; + } else { + ++s->bytes_read; + return s->readpos < s->end ? (unsigned char) *s->readpos++ : EOF; } - - ++s->bytes_read; - return s->readpos < s->end ? (unsigned char) *s->readpos++ : EOF; } static int Peek (m_getfld_state_t s) { - if (s->end - s->readpos < 1) { - if (read_more (s) == 0) { - /* Pretend that we read a character. That's what stdio does. */ - ++s->readpos; - return EOF; - } + if (s->end - s->readpos < 1 && read_more (s) == 0) { + return EOF; + } else { + return s->readpos < s->end ? (unsigned char) *s->readpos : EOF; } - - return s->readpos < s->end ? (unsigned char) *s->readpos : EOF; } static int