]> git.cameronkatri.com Git - mandoc.git/commitdiff
Do not allocate a column for decimal points if all numbers are integers.
authorIngo Schwarze <schwarze@openbsd.org>
Sat, 18 Aug 2018 16:44:55 +0000 (16:44 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Sat, 18 Aug 2018 16:44:55 +0000 (16:44 +0000)
out.c
tbl_term.c

diff --git a/out.c b/out.c
index b2b643787ec1f401cacb944f839bf9ac44056ec0..eacfcb4ff67af6ed57f950f36495e92036463517 100644 (file)
--- a/out.c
+++ b/out.c
@@ -1,7 +1,7 @@
-/*     $Id: out.c,v 1.70 2017/06/27 18:25:02 schwarze Exp $ */
+/*     $Id: out.c,v 1.71 2018/08/18 16:44:55 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
@@ -320,7 +320,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];
@@ -342,17 +342,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. */
 
index c154a0e9b967cb5668b99753c439b67c405881cb..3dda00d18d8f2f5427d6e5f4ebab181b956297fa 100644 (file)
@@ -1,7 +1,7 @@
-/*     $Id: tbl_term.c,v 1.57 2017/07/31 16:14:10 schwarze Exp $ */
+/*     $Id: tbl_term.c,v 1.58 2018/08/18 16:44:55 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
@@ -621,7 +621,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;
 
        /*
@@ -636,16 +636,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;