diff --git a/input.c b/input.c index 8e500b3..3a5e06a 100644 --- a/input.c +++ b/input.c @@ -5,24 +5,19 @@ int readb(FILE *fp, unsigned char *s, int slen) { - int read, tread; - unsigned char *send, *sbeg; + unsigned char *send; + unsigned char *sbeg; unsigned char *l, *r; - read = tread = 0; - sbeg = l = r = s; - while (tread < slen && (read = fread(l, sizeof(*l), slen-tread, fp))) { - tread += read; - send = s + tread; - for (r = l; r < send; ++r) - if (*r != '\n') - *l++ = *r; - tread -= r - l; - if (l > sbeg) { - for (--l; *l == PADDING; --l) - ; - ++l; - } + sbeg = s; + send = s + fread(s, sizeof(*s), slen, fp); + for (l = r = sbeg; r < send; ++r) + if (*r != '\n') + *l++ = *r; + if (l > sbeg) { + for (--l; *l == PADDING; --l) + ; + ++l; } return l-sbeg;