X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0c7ac5073c24f01663fadc78b5112c86d52e4452..b4f2851d4:/sbr/m_getfld.c diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index f19f7f11..9884ba44 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -636,12 +636,15 @@ m_getfld (m_getfld_state_t *gstate, char name[NAMESZ], char *buf, int *bufsz, if (c != EOF) c = Peek (s); if (max < n) { /* The dest buffer is full. Need to back the read - pointer up by one because when m_getfld() is - reentered, it will read a character. Then - we'll jump right to the FLDPLUS handling code, - which will not store that character, but - instead move on to the next one. */ - if (s->readpos > s->msg_buf) --s->readpos; + pointer up by one because when m_getfld() is + reentered, it will read a character. Then + we'll jump right to the FLDPLUS handling code, + which will not store that character, but + instead move on to the next one. */ + if (s->readpos > s->msg_buf) { + --s->readpos; + --s->bytes_read; + } s->state = FLDPLUS; finished = 1; } else if (c != ' ' && c != '\t') {