From nobody Thu Feb 26 04:22:49 2026 X-Original-To: dev-commits-src-all@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 4fLyx52cD4z6TDnw for ; Thu, 26 Feb 2026 04:22:49 +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 4fLyx5180nz3JXN for ; Thu, 26 Feb 2026 04:22:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772079769; 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=a6VjiASIpSs1Cxc++Svpl0M2wKr1AVpc56S8RTownwI=; b=l0OnrSe5NwcCEixMRJFZwgpKW5HyzkNb4gxGKLX2WvDDKYgJAkw5G3UdrkNlg+6Pz8HNH3 Me9/e0YHA3ZikcMdYvyoRXX7KQMH7Ygll8VSGR0E1zOTHQV/8ACWTsr6OAL5uaYIFJX/BJ mLR0+Z2ghfI48lTtLlIGVKIbgUkMXHhwH2HXvxRj8R2x2H3DrNjWr2783kjEFtupnVKpdc qSIr7VIchxlj2XnDVBLXHNyehoLfFFEI/h7+TqMjK2wdm8lBnhU1DRRLuHY8LroJmo9Aj7 47aXcWhGjIL9WN0BCFJTriW8iL4kyrynzeOdt0PEyS7w88irVBXmtZxX21mNvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772079769; a=rsa-sha256; cv=none; b=fACY7UwnFTJL+6G3JO0sKVgUe7/ocqroDmfERONaTrOQzSIy5Q0Al61/+0rRa32rLj0Jws fsacFxl5K0ZvR8RQ5vbkjIlok//2wgofkTcHgx0v/QZnjASv7yFzRL1WJ2XJKdPsxnqBa9 vHdYP+yKc1SRxVEXadWIJ6eVnOoe5vDCIvH5OHaD1BQZtITwFiqs1AChJtxWBYBsovzy4E w7XG9567cJpr7x9ALqXc45InUny6ViKE5/WDeZXu3jAmL+nfj5/f9ja7H8WL4d0eh63M7n PilDEEQ7t6qkYT3n5qfGirRYzZOI11oNOLx+wTpGj4hYXzi42V+ux7bNiNw0Yw== 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=1772079769; 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=a6VjiASIpSs1Cxc++Svpl0M2wKr1AVpc56S8RTownwI=; b=UweUaMVTdWnKuCPwrAhCj28VMdychdP9ZFBE71fMx0NazUBLzs/pgbLOOT4Qezlqz3yXrE W13IeLcQ4U+wYmiAVLQfmlE+wdaVjMojCQkrnHouVprijRXzYZhN5VNhTRHaIrVvlXHgM/ qLRlcyy3Qg/CbE0XgN/3qdFxPdhP+PPiHLCO6qniupUzmeqDJalVmESjTMIWFV8CaUlEpN cbLvpn72gDYUQacVtFyr+ijvVaXPj33i5m/PxD6lgQXM1IRn/ge886Utv6RfSHo/Dvm7jt Y3y2tv4Pnc/D4hPfDM5x/CjTfD6feXHd4uLA2DCSUnyr4q24kpDrEl/f+pGgng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fLyx50WqRz1b3 for ; Thu, 26 Feb 2026 04:22:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36229 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 04:22:49 +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: 15717dd5c628 - stable/14 - m4: Fix eval output width List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/14 X-Git-Reftype: branch X-Git-Commit: 15717dd5c628ce57d8b73b6b8a8ea7e9d8f5e52a Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 04:22:49 +0000 Message-Id: <699fca99.36229.4c9e748a@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=15717dd5c628ce57d8b73b6b8a8ea7e9d8f5e52a commit 15717dd5c628ce57d8b73b6b8a8ea7e9d8f5e52a Author: Dag-Erling Smørgrav AuthorDate: 2026-02-17 14:01:34 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-26 04:03:42 +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 7d2473f88168..a6abce4936b4 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -139,8 +139,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