aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--term.c9
-rw-r--r--term.h4
-rw-r--r--term_ascii.c14
-rw-r--r--term_ps.c14
4 files changed, 17 insertions, 24 deletions
diff --git a/term.c b/term.c
index 92d6e15d..cfc74066 100644
--- a/term.c
+++ b/term.c
@@ -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);
}
diff --git a/term.h b/term.h
index 78577714..4c8e34ed 100644
--- a/term.h
+++ b/term.h
@@ -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);
}
diff --git a/term_ps.c b/term_ps.c
index 034eb4ec..da5355ee 100644
--- a/term_ps.c
+++ b/term_ps.c
@@ -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);
}