diff options
-rw-r--r-- | term.c | 9 | ||||
-rw-r--r-- | term.h | 4 | ||||
-rw-r--r-- | term_ascii.c | 14 | ||||
-rw-r--r-- | term_ps.c | 14 |
4 files changed, 17 insertions, 24 deletions
@@ -1,4 +1,4 @@ -/* $Id: term.c,v 1.155 2010/06/30 12:27:55 kristaps Exp $ */ +/* $Id: term.c,v 1.156 2010/06/30 12:30:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -692,6 +692,11 @@ term_vspan(const struct termp *p, const struct roffsu *su) size_t term_hspan(const struct termp *p, const struct roffsu *su) { + double v; - return((*p->hspan)(p, su)); + v = ((*p->hspan)(p, su)); + if (v < 0.0) + v = 0.0; + return((size_t) /* LINTED */ + v); } @@ -1,4 +1,4 @@ -/* $Id: term.h,v 1.70 2010/06/30 12:27:55 kristaps Exp $ */ +/* $Id: term.h,v 1.71 2010/06/30 12:30:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -103,7 +103,7 @@ struct termp { void (*endline)(struct termp *); void (*advance)(struct termp *, size_t); size_t (*width)(const struct termp *, char); - size_t (*hspan)(const struct termp *, + double (*hspan)(const struct termp *, const struct roffsu *); const void *argf; /* arg for headf/footf */ union { diff --git a/term_ascii.c b/term_ascii.c index 7c263cda..a747f216 100644 --- a/term_ascii.c +++ b/term_ascii.c @@ -1,4 +1,4 @@ -/* $Id: term_ascii.c,v 1.7 2010/06/30 12:27:55 kristaps Exp $ */ +/* $Id: term_ascii.c,v 1.8 2010/06/30 12:30:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -30,7 +30,7 @@ #include "term.h" #include "main.h" -static size_t ascii_hspan(const struct termp *, +static double ascii_hspan(const struct termp *, const struct roffsu *); static size_t ascii_width(const struct termp *, char); static void ascii_advance(struct termp *, size_t); @@ -146,7 +146,7 @@ ascii_advance(struct termp *p, size_t len) /* ARGSUSED */ -static size_t +static double ascii_hspan(const struct termp *p, const struct roffsu *su) { double r; @@ -180,12 +180,6 @@ ascii_hspan(const struct termp *p, const struct roffsu *su) break; } - /* Explicitly disallow negative values. */ - - if (r < 0.0) - r = 0.0; - - return((size_t)/* LINTED */ - r); + return(r); } @@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.19 2010/06/30 12:27:55 kristaps Exp $ */ +/* $Id: term_ps.c,v 1.20 2010/06/30 12:30:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -359,7 +359,7 @@ static const struct font fonts[TERMFONT__MAX] = { } while (/* CONSTCOND */ 0) -static size_t ps_hspan(const struct termp *, +static double ps_hspan(const struct termp *, const struct roffsu *); static size_t ps_width(const struct termp *, char); static void ps_advance(struct termp *, size_t); @@ -828,7 +828,7 @@ ps_width(const struct termp *p, char c) } -static size_t +static double ps_hspan(const struct termp *p, const struct roffsu *su) { double r; @@ -871,12 +871,6 @@ ps_hspan(const struct termp *p, const struct roffsu *su) break; } - /* Explicitly disallow negative values. */ - - if (r < 0.0) - r = 0.0; - - return((size_t)/* LINTED */ - r); + return(r); } |