#include "input.h" #define PADDING '=' int readb(FILE *fp, unsigned char *s, int slen) { int read, tread; unsigned char *send, *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; } } return l-sbeg; }