summaryrefslogtreecommitdiffstats
path: root/man_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-12-23 09:31:46 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-12-23 09:31:46 +0000
commit83592bae7b4cc86364128d1a37075c8d2ab3f14f (patch)
tree0c4bbf3561d1fd7d3645e88846d2a774680001dc /man_term.c
parentce8ab0a1bb72b1a1bf7fbc11edfcad682e7d1619 (diff)
downloadmandoc-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.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/man_term.c b/man_term.c
index a85f00fe..03456b2b 100644
--- a/man_term.c
+++ b/man_term.c
@@ -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;
}