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