diff options
Diffstat (limited to 'soltools/cpp/_lex.c')
-rw-r--r-- | soltools/cpp/_lex.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/soltools/cpp/_lex.c b/soltools/cpp/_lex.c index 135c36ca4f93..28fae7a548ec 100644 --- a/soltools/cpp/_lex.c +++ b/soltools/cpp/_lex.c @@ -624,10 +624,14 @@ int int fillbuf(Source * s) { - int n; + int n = 0; - if (s->fd < 0 || (n = read(s->fd, (char *) s->inl, INS / 8)) <= 0) - n = 0; + if (s->fd >= 0) + { + n = read(s->fd, (char *) s->inl, INS / 8); + if (n <= 0) + n = 0; + } s->inl += n; s->inl[0] = s->inl[1] = s->inl[2] = s->inl[3] = EOB; if (n == 0) |