From nobody Thu Feb 26 04:22:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fLyx23vQWz6TF9S for ; Thu, 26 Feb 2026 04:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fLyx21fgXz3JXF for ; Thu, 26 Feb 2026 04:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772079766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UkBhHpYgwyh6fGuQcTl8RZz/2Ka8G/q9SykMm8JMt3c=; b=HOCU4YOovKqpi3P1IjUAn2tep0DiENv+VokzkhK0K1pttjVqQ2DY5uIduDS+426eRKD8Dd Bp1YY9+gFCt4NvtiuQLWNg21+24kL1WqqnJFmuNWZNfptu3MAltvnRI7togA/VWznDZTZb 0A4m8eK0sNH4y4rfruU2HNeRCI4LVqdNhfvn2r7CV/DfePm8MTVwzc3WGR8iDk1T6YSY6L 3cyH/OZ6c4bFnptXmwcL0BezXB4nnAsa8fwPyAtRJkAS6OWZxM2qdiQZwf8vukA5BSQ5ME ftfOuxfQ7PfjxiCIa42WfCs4duwV/QWlBASRuWTYqm7nc4J+hHnvDnq+BidYIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772079766; a=rsa-sha256; cv=none; b=iIGPoAlZPweYQSSQW2VgXw4tHL6JaZol19e4fOaZocfGNrF3nd+RCvQw+5boy3SW8KmuB4 fZG/4h5PAeqNX9nKo4i+Xgm5aSTmOe5twYwJvTWxaoswj3A/wrHI9bED2xbw59en1MNotb iAldzkLmMAjeWbCd8RDpsEyc2Qx+JWcXkNl3NIR78tfG5Voyk8ueDLBLeJozjy8tyYPZ5R XtL66uYWq5dVCJ1giJxrhVXrdavy/P6+88uf0slcCjIHu5k5m2UCbhhV/xoKCyaxdSjHIB 0rG6677L0GuIoh8bGh8gDNrm1tNHHKBvBDa/RJygIFIRQ5pbx3F099ZN9g2/Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772079766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UkBhHpYgwyh6fGuQcTl8RZz/2Ka8G/q9SykMm8JMt3c=; b=R8KU1A+nfUbfcxXIgZ/Oz47PQYFSp5M6cvD6GGqvUrLYn6dqesNLgcTNvzWUhjiRTRySpK lrZe5HuEAPpQZd1tDnk3pwILXS0/vwsIPMdTVlvZ5NT2mzq9/tdpxy1YMJ1G7fyNCbVhrd 1iYbjeFrpZkHYEA74ROj7rU1XFpGdowsKuXtqO9eSfY254DGgsXWQmYruw9uUStaiYcPyw 2H4/D4RsDRiWvVL2B+b1MpBrDh0T5ff+zduq+3BNacsR8BWKg+hKpBXv5WsiQBx+jCohLe d/HZbFYKUTEV1uo0X0P+ArWtU62h322fP/BR9LZFalH4SJ0NGvbrCNoWr0/4CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fLyx21BMwz1LD for ; Thu, 26 Feb 2026 04:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 373e7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 04:22:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8124bd4524a2 - stable/15 - m4: Fix eval output width List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8124bd4524a299a647fb25f8d4ebe2cfe6846a59 Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 04:22:46 +0000 Message-Id: <699fca96.373e7.6221e272@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8124bd4524a299a647fb25f8d4ebe2cfe6846a59 commit 8124bd4524a299a647fb25f8d4ebe2cfe6846a59 Author: Dag-Erling Smørgrav AuthorDate: 2026-02-17 14:01:34 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-26 04:02:28 +0000 m4: Fix eval output width According to POSIX, the optional third argument is the minimum number of digits to print regardless of sign. We interpreted it as the minimum width of the output including the sign. Additionally, the variable used to hold this value was confusingly named “maxdigits”. PR: 293214 MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D55311 (cherry picked from commit 507c611aeac7ca9aed12353b1044bb21ab00afae) --- usr.bin/m4/eval.c | 8 ++++---- usr.bin/m4/misc.c | 2 -- usr.bin/m4/tests/eval.m4 | 2 ++ usr.bin/m4/tests/regress.eval.out | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 4e45a71874e1..0963a61a2914 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -178,7 +178,7 @@ expand_builtin(const char *argv[], int argc, int td) */ { int base = 10; - int maxdigits = 0; + int mindigits = 0; const char *errstr; if (argc > 3 && *argv[3] != '\0') { @@ -189,14 +189,14 @@ expand_builtin(const char *argv[], int argc, int td) } } if (argc > 4) { - maxdigits = strtonum(argv[4], 0, INT_MAX, &errstr); + mindigits = strtonum(argv[4], 0, INT_MAX, &errstr); if (errstr) { - m4errx(1, "expr: maxdigits is %s: %s.", + m4errx(1, "expr: mindigits is %s: %s.", errstr, argv[4]); } } if (argc > 2) - pbnumbase(expr(argv[2]), base, maxdigits); + pbnumbase(expr(argv[2]), base, mindigits); break; } diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index 3091f2ad1f9e..fd72292aeac0 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -138,8 +138,6 @@ pbnumbase(int n, int base, int d) } while ((num /= base) > 0); - if (n < 0) - printed++; while (printed++ < d) pushback('0'); diff --git a/usr.bin/m4/tests/eval.m4 b/usr.bin/m4/tests/eval.m4 index 1d3f886d0d89..dc0fada781f1 100644 --- a/usr.bin/m4/tests/eval.m4 +++ b/usr.bin/m4/tests/eval.m4 @@ -3,3 +3,5 @@ dnl expr parser eval(224&127) eval(224|127) eval(224&&127) +eval(3-2, 10, 5) +eval(2-3, 10, 4) diff --git a/usr.bin/m4/tests/regress.eval.out b/usr.bin/m4/tests/regress.eval.out index 7298b3f43840..b1bb211dcb64 100644 --- a/usr.bin/m4/tests/regress.eval.out +++ b/usr.bin/m4/tests/regress.eval.out @@ -1,3 +1,5 @@ 96 255 1 +00001 +-0001