Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Jul 2026 01:40:14 +0000
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 77a201b1705d - main - ministat: parse comma used as decimal delimiter
Message-ID:  <6a5987fe.3e18c.5660ceff@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=77a201b1705dbd97ea9ebe5b25b1d4ddac8a7d38

commit 77a201b1705dbd97ea9ebe5b25b1d4ddac8a7d38
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2026-07-17 00:49:55 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2026-07-17 01:40:03 +0000

    ministat: parse comma used as decimal delimiter
    
    This allows to use output of '/usr/bin/time -ao foo' as direct input to
    ministat(1).
    
    While here make diagnostic message more verbose.
---
 usr.bin/ministat/ministat.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/usr.bin/ministat/ministat.c b/usr.bin/ministat/ministat.c
index 7d3232370121..bb2b7e32ea0b 100644
--- a/usr.bin/ministat/ministat.c
+++ b/usr.bin/ministat/ministat.c
@@ -483,7 +483,7 @@ dbl_cmp(const void *a, const void *b)
 static struct dataset *
 ReadSet(FILE *f, const char *n, int column, const char *delim)
 {
-	char buf[BUFSIZ], *p, *t;
+	char buf[BUFSIZ], *p, *t, *comma;
 	struct dataset *s;
 	double d;
 	int line;
@@ -507,10 +507,12 @@ ReadSet(FILE *f, const char *n, int column, const char *delim)
 		}
 		if (t == NULL || *t == '#')
 			continue;
-
+		if ((comma = strchr(t, ',')) != NULL)
+			*comma = '.';
 		d = strtod(t, &p);
 		if (p != NULL && *p != '\0')
-			errx(2, "Invalid data on line %d in %s", line, n);
+			errx(2, "Invalid data \"%s\" on line %d in %s",
+			    t, line, n);
 		if (*buf != '\0')
 			AddPoint(s, d);
 	}


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a5987fe.3e18c.5660ceff>