38 lines
919 B
C
38 lines
919 B
C
#include "output.h"
|
|
|
|
#define WRAPCOL 76
|
|
|
|
char
|
|
printw(FILE *fptr, unsigned char *buf, int bufsize)
|
|
{
|
|
static int column;
|
|
int c;
|
|
|
|
c = '\n';
|
|
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(buf, sizeof(*buf), bufsize, fptr);
|
|
column += bufsize;
|
|
buf += bufsize;
|
|
bufsize -= bufsize;
|
|
c = *(buf+bufsize-1);
|
|
}
|
|
}
|
|
for (; bufsize >= WRAPCOL; bufsize -= WRAPCOL, buf += WRAPCOL) {
|
|
fwrite(buf, sizeof(*buf), WRAPCOL, fptr);
|
|
fputc('\n', fptr);
|
|
}
|
|
if (bufsize > 0) {
|
|
fwrite(buf, sizeof(*buf), bufsize, fptr);
|
|
column += bufsize;
|
|
c = *(buf+bufsize-1);
|
|
}
|
|
|
|
return c;
|
|
}
|