summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2018-08-18 16:44:53 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2018-08-18 16:44:53 +0000
commitfc50212885ccf271267fd440af07e9c07bd0b0a8 (patch)
tree2a409fab8d5f1e32f1c1e2065f7d08c011d5c1ea
parent2041e72cd155f73e24ccbc92b7586ad67103fa93 (diff)
Do not allocate a column for decimal points if all numbers are integers.
-rw-r--r--usr.bin/mandoc/out.c12
-rw-r--r--usr.bin/mandoc/tbl_term.c12
2 files changed, 10 insertions, 14 deletions
diff --git a/usr.bin/mandoc/out.c b/usr.bin/mandoc/out.c
index 237c6f4257b..175b3eef332 100644
--- a/usr.bin/mandoc/out.c
+++ b/usr.bin/mandoc/out.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: out.c,v 1.42 2017/06/27 18:23:29 schwarze Exp $ */
+/* $OpenBSD: out.c,v 1.43 2018/08/18 16:44:52 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -318,7 +318,7 @@ tblcalc_number(struct rofftbl *tbl, struct roffcol *col,
const struct tbl_opts *opts, const struct tbl_dat *dp)
{
int i;
- size_t sz, psz, ssz, d;
+ size_t sz, ssz, d;
const char *str;
char *cp;
char buf[2];
@@ -340,17 +340,15 @@ tblcalc_number(struct rofftbl *tbl, struct roffcol *col,
buf[0] = opts->decimal;
buf[1] = '\0';
- psz = (*tbl->slen)(buf, tbl->arg);
-
if (NULL != (cp = strrchr(str, opts->decimal))) {
buf[1] = '\0';
for (ssz = 0, i = 0; cp != &str[i]; i++) {
buf[0] = str[i];
ssz += (*tbl->slen)(buf, tbl->arg);
}
- d = ssz + psz;
+ d = ssz;
} else
- d = sz + psz;
+ d = sz;
/* Adjust the settings for this column. */
diff --git a/usr.bin/mandoc/tbl_term.c b/usr.bin/mandoc/tbl_term.c
index 7dce33652e5..a8f4634ac24 100644
--- a/usr.bin/mandoc/tbl_term.c
+++ b/usr.bin/mandoc/tbl_term.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: tbl_term.c,v 1.45 2017/07/31 16:14:04 schwarze Exp $ */
+/* $OpenBSD: tbl_term.c,v 1.46 2018/08/18 16:44:52 schwarze Exp $ */
/*
* Copyright (c) 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011,2012,2014,2015,2017 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011-2018 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -619,7 +619,7 @@ tbl_number(struct termp *tp, const struct tbl_opts *opts,
{
char *cp;
char buf[2];
- size_t sz, psz, ssz, d, padl;
+ size_t sz, ssz, d, padl;
int i;
/*
@@ -634,16 +634,14 @@ tbl_number(struct termp *tp, const struct tbl_opts *opts,
buf[0] = opts->decimal;
buf[1] = '\0';
- psz = term_strlen(tp, buf);
-
if ((cp = strrchr(dp->string, opts->decimal)) != NULL) {
for (ssz = 0, i = 0; cp != &dp->string[i]; i++) {
buf[0] = dp->string[i];
ssz += term_strlen(tp, buf);
}
- d = ssz + psz;
+ d = ssz;
} else
- d = sz + psz;
+ d = sz;
if (col->decimal > d && col->width > sz) {
padl = col->decimal - d;