diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-12-23 09:31:46 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-12-23 09:31:46 +0000 |
commit | 83592bae7b4cc86364128d1a37075c8d2ab3f14f (patch) | |
tree | 0c4bbf3561d1fd7d3645e88846d2a774680001dc /man_term.c | |
parent | ce8ab0a1bb72b1a1bf7fbc11edfcad682e7d1619 (diff) | |
download | mandoc-83592bae7b4cc86364128d1a37075c8d2ab3f14f.tar.gz |
some scaling unit fixes:
- .sp with an invalid argument is .sp 1v, not .sp 0v
- in man(1), trailing garbage doesn't make scaling units invalid
Diffstat (limited to 'man_term.c')
-rw-r--r-- | man_term.c | 18 |
1 files changed, 4 insertions, 14 deletions
@@ -57,7 +57,6 @@ struct termact { }; static int a2width(const struct termp *, const char *); -static size_t a2height(const struct termp *, const char *); static void print_man_nodelist(DECL_ARGS); static void print_man_node(DECL_ARGS); @@ -184,18 +183,6 @@ terminal_man(void *arg, const struct man *man) } } - -static size_t -a2height(const struct termp *p, const char *cp) -{ - struct roffsu su; - - if ( ! a2roffsu(cp, &su, SCALE_VS)) - SCALE_VS_INIT(&su, atoi(cp)); - - return(term_vspan(p, &su)); -} - static int a2width(const struct termp *p, const char *cp) { @@ -464,6 +451,7 @@ pre_in(DECL_ARGS) static int pre_sp(DECL_ARGS) { + struct roffsu su; char *s; size_t i, len; int neg; @@ -501,7 +489,9 @@ pre_sp(DECL_ARGS) neg = 1; s++; } - len = a2height(p, s); + if ( ! a2roffsu(s, &su, SCALE_VS)) + su.scale = 1.0; + len = term_vspan(p, &su); break; } |