From 99c88949ac60ced9b0b6d23392d1dc433b3ab437 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 12 Jun 2025 11:32:47 +0200 Subject: [PATCH] increase readability of input.{c,h} --- input.c | 41 ++++++++++++++++++++++------------------- input.h | 2 +- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/input.c b/input.c index 8e500b3..cb0a890 100644 --- a/input.c +++ b/input.c @@ -3,27 +3,30 @@ #define PADDING '=' int -readb(FILE *fp, unsigned char *s, int slen) +readb(FILE *fptr, unsigned char *buf, int bufsize) { - int read, tread; - unsigned char *send, *sbeg; - unsigned char *l, *r; + int read; + int total; + unsigned char *begin; + unsigned char *end; + unsigned char *left; + unsigned char *right; - 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; - } + read = total = 0; + begin = left = buf; + while (total < bufsize && (read = fread(left, sizeof(*left), bufsize-total, fptr))) { + total += read; + end = buf + total; + for (right = left; right < end; ++right) + if (*right != '\n') + *left++ = *right; + total -= right - left; + } + if (left > begin) { + for (--left; *left == PADDING; --left) + ; + ++left; } - return l-sbeg; + return left-begin; } diff --git a/input.h b/input.h index 901b2c4..57bb5de 100644 --- a/input.h +++ b/input.h @@ -4,6 +4,6 @@ #include int -readb(FILE *fp, unsigned char *s, int slen); +readb(FILE *fptr, unsigned char *buf, int bufsize); #endif