diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-02-16 12:33:39 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-02-16 12:33:39 +0000 |
commit | 5d19971cac3813f20473e2e3588ff483ed6eb43f (patch) | |
tree | f83d24f49124633dfae76622661c0025d2931bb7 /mdoc_term.c | |
parent | 43df6e40ec353f7e0699c6c633583fb632c6b760 (diff) | |
download | mandoc-5d19971cac3813f20473e2e3588ff483ed6eb43f.tar.gz |
when indenting, extend the right margin accordingly, when needed;
fixes a crash reported by blambert@ and a few other, similar ones
Diffstat (limited to 'mdoc_term.c')
-rw-r--r-- | mdoc_term.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mdoc_term.c b/mdoc_term.c index 5b4feedd..73ef6d72 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1,7 +1,7 @@ /* $Id$ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> - * Copyright (c) 2010, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org> + * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> * Copyright (c) 2013 Franco Fichtner <franco@lastsummer.de> * * Permission to use, copy, modify, and distribute this software for any @@ -873,8 +873,11 @@ termp_it_pre(DECL_ARGS) assert(width); if (MDOC_HEAD == n->type) p->rmargin = p->offset + width; - else + else { p->offset += width; + if (p->rmargin < p->offset) + p->rmargin = p->offset; + } break; case (LIST_column): assert(width); |