diff options
Diffstat (limited to 'term.c')
-rw-r--r-- | term.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -34,7 +34,7 @@ #include "mdoc.h" #include "main.h" -static struct termp *term_alloc(enum termenc); +static struct termp *term_alloc(enum termenc, size_t); static void term_free(struct termp *); static void spec(struct termp *, const char *, size_t); static void res(struct termp *, const char *, size_t); @@ -45,10 +45,10 @@ static void encode(struct termp *, const char *, size_t); void * -ascii_alloc(void) +ascii_alloc(size_t width) { - return(term_alloc(TERMENC_ASCII)); + return(term_alloc(TERMENC_ASCII, width)); } @@ -74,7 +74,7 @@ term_free(struct termp *p) static struct termp * -term_alloc(enum termenc enc) +term_alloc(enum termenc enc, size_t width) { struct termp *p; @@ -84,6 +84,10 @@ term_alloc(enum termenc enc) exit(EXIT_FAILURE); } p->enc = enc; + /* Enforce some lower boundary. */ + if (width < 60) + width = 60; + p->defrmargin = width - 2; return(p); } |