Compare commits

...

2 commits

Author SHA1 Message Date
Eric
a90a6901cc Merge branch 'dev' of hiajen-forgejo:/penpen/b64 into dev 2025-05-29 13:56:15 +02:00
Eric
debab62506 remove getsxts for better function readb
Decoding input is read faster now.
With this, all options have been tuned to a reasonable degree.
2025-05-29 13:48:49 +02:00

27
input.c
View file

@ -5,19 +5,24 @@
int int
readb(FILE *fp, unsigned char *s, int slen) readb(FILE *fp, unsigned char *s, int slen)
{ {
unsigned char *send; int read, tread;
unsigned char *sbeg; unsigned char *send, *sbeg;
unsigned char *l, *r; unsigned char *l, *r;
sbeg = s; read = tread = 0;
send = s + fread(s, sizeof(*s), slen, fp); sbeg = l = r = s;
for (l = r = sbeg; r < send; ++r) while (tread < slen && (read = fread(l, sizeof(*l), slen-tread, fp))) {
if (*r != '\n') tread += read;
*l++ = *r; send = s + tread;
if (l > sbeg) { for (r = l; r < send; ++r)
for (--l; *l == PADDING; --l) if (*r != '\n')
; *l++ = *r;
++l; tread -= r - l;
if (l > sbeg) {
for (--l; *l == PADDING; --l)
;
++l;
}
} }
return l-sbeg; return l-sbeg;