diff --git a/output.c b/output.c index 171c083..f671883 100644 --- a/output.c +++ b/output.c @@ -3,35 +3,35 @@ #define WRAPCOL 76 char -printw(FILE *fp, unsigned char *s, int slen) +printw(FILE *fptr, unsigned char *buf, int bufsize) { - static int col; + static int column; int c; c = '\n'; - if (col) { - if (slen >= WRAPCOL-col) { - fwrite(s, sizeof(*s), WRAPCOL-col, fp); - s += WRAPCOL-col; - slen -= WRAPCOL-col; - col = 0; - fputc('\n', fp); + if (column > 0) { + if (bufsize >= WRAPCOL-column) { + fwrite(buf, sizeof(*buf), WRAPCOL-column, fptr); + buf += WRAPCOL-column; + bufsize -= WRAPCOL-column; + column = 0; + fputc('\n', fptr); } else { - fwrite(s, sizeof(*s), slen, fp); - s += slen; - col += slen; - slen -= slen; - c = *(s+slen-1); + fwrite(buf, sizeof(*buf), bufsize, fptr); + column += bufsize; + buf += bufsize; + bufsize -= bufsize; + c = *(buf+bufsize-1); } } - for (; slen >= WRAPCOL; slen -= WRAPCOL, s += WRAPCOL) { - fwrite(s, sizeof(*s), WRAPCOL, fp); - fputc('\n', fp); + for (; bufsize >= WRAPCOL; bufsize -= WRAPCOL, buf += WRAPCOL) { + fwrite(buf, sizeof(*buf), WRAPCOL, fptr); + fputc('\n', fptr); } - if (slen > 0) { - fwrite(s, sizeof(*s), slen, fp); - col += slen; - c = *(s+slen-1); + if (bufsize > 0) { + fwrite(buf, sizeof(*buf), bufsize, fptr); + column += bufsize; + c = *(buf+bufsize-1); } return c; diff --git a/output.h b/output.h index 85736f2..48feaa8 100644 --- a/output.h +++ b/output.h @@ -4,6 +4,6 @@ #include char -printw(FILE *fp, unsigned char *s, int slen); +printw(FILE *fptr, unsigned char *buf, int bufsize); #endif