version 1.57, 2015/02/21 21:15:41 |
version 1.58, 2015/02/23 14:30:29 |
|
|
char *outbuf; /* text buffered for output */ |
char *outbuf; /* text buffered for output */ |
size_t outbufsz; /* allocated size of outbuf */ |
size_t outbufsz; /* allocated size of outbuf */ |
size_t outbuflen; /* current length of outbuf */ |
size_t outbuflen; /* current length of outbuf */ |
|
size_t outlnlen; /* chars so far on this output line */ |
}; |
}; |
|
|
enum fmt { |
enum fmt { |
Line 208 outbuf_flush(struct state *st) |
|
Line 209 outbuf_flush(struct state *st) |
|
if (0 == st->outbuflen) |
if (0 == st->outbuflen) |
return; |
return; |
|
|
|
st->outlnlen += st->outbuflen; |
|
if (OUST_TXT == st->oust && st->wantws) { |
|
if (++st->outlnlen > 72) { |
|
putchar('\n'); |
|
st->oust = OUST_NL; |
|
st->outlnlen = st->outbuflen; |
|
} |
|
} |
if (OUST_NL != st->oust && st->wantws) |
if (OUST_NL != st->oust && st->wantws) |
putchar(' '); |
putchar(' '); |
|
|
Line 233 mdoc_newln(struct state *st) |
|
Line 242 mdoc_newln(struct state *st) |
|
putchar('\n'); |
putchar('\n'); |
last = '\n'; |
last = '\n'; |
st->oust = OUST_NL; |
st->oust = OUST_NL; |
|
st->outlnlen = 0; |
st->wantws = 1; |
st->wantws = 1; |
} |
} |
|
|
Line 1632 ordinary(struct state *st, const char *buf, size_t sta |
|
Line 1642 ordinary(struct state *st, const char *buf, size_t sta |
|
} |
} |
} else if (start < end && '\n' == buf[start]) { |
} else if (start < end && '\n' == buf[start]) { |
outbuf_flush(st); |
outbuf_flush(st); |
mdoc_newln(st); |
st->wantws = 1; |
if (++start >= end) |
if (++start >= end) |
continue; |
continue; |
/* |
/* |
Line 1643 ordinary(struct state *st, const char *buf, size_t sta |
|
Line 1653 ordinary(struct state *st, const char *buf, size_t sta |
|
* have a macro subsequent it, which may be |
* have a macro subsequent it, which may be |
* possible if we have an escape next. |
* possible if we have an escape next. |
*/ |
*/ |
if (' ' == buf[start] || '\t' == buf[start]) |
if (' ' == buf[start] || '\t' == buf[start]) { |
|
mdoc_newln(st); |
puts(".br"); |
puts(".br"); |
|
} |
for ( ; start < end; start++) |
for ( ; start < end; start++) |
if (' ' != buf[start] && '\t' != buf[start]) |
if (' ' != buf[start] && '\t' != buf[start]) |
break; |
break; |