From nobody Tue Feb 17 14:02:21 2026 X-Original-To: dev-commits-src-main@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 4fFhCx4YB4z6SSTN for ; Tue, 17 Feb 2026 14:02:21 +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 4fFhCx3sBQz3qRM for ; Tue, 17 Feb 2026 14:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771336941; 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=KesNe1kQNkWkU1+nXCK/X/jRQ75y2xh/O/y8TlIWULI=; b=TdURvwT2l5vAB0wYKTDQmxNYZxcEldXfu8C1bfDTIt9pB/Z4yQqqOyNd1uqqglsVUZzpub uKk2TMVzISjOx74A47ZfmKDKeBXIKhqUON2McdUL/5FilNKidk7nbOx5OzvByjlXRmEDQc EuKvp0ZkoSsXRcn7ruZ7FVzqXz6AnpVN6+1ui0Mk6r2vmniCuyLHUyX/uxk1uOwlv8JUuY TLDiJri9v04NGxY1ZKlx81aAK3kkrIhl8VAHWUWzekDOJToIYJXCcy5DjQRpHXaKkYFjzR +xRuHYIYw/9ml8kixt8jssMW0c0JWw+jBMxZcAvzxlrixyZXOLnSQc++KnbbuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771336941; a=rsa-sha256; cv=none; b=CFkoaYP/R2bhaQIznJQL5KqHSDwNtUp6O9Mrz4ymc3TcUaJFbohImCuay6HkwUYx+CNGuD w62WyCUw0yj4VYpb4zCSf0etnmsQ6txIXEwvsrhfr8JDWyUlfNtFfE4RVL8rrbVrwX8AIP QtwUt6Fp3c2m3T+0d8W+0YW+AdEwuluDcMqrKh0HQ7P0MxILAuTz9/3+ZxU9vyb/317fDp RuVq3blu3dqCHet/7U0r5oyHjQ9lvqJ5K+BYuxMLJD7a05ytMhvT2RX7WWrg1pGaFcGToi hMlBKXtd0zAUBWXj+IEDeHdBxV8nwPQ+zhg/gBrN+FwU9Jqq7d0gfJMgAT0A7w== 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=1771336941; 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=KesNe1kQNkWkU1+nXCK/X/jRQ75y2xh/O/y8TlIWULI=; b=ZJt1nZigtGN1s/oTIgNdp3ZojKH/LeRD4DWEAA4qQuQEgieByRqb5gSMSwxYMpsRHd8FV0 2O9ErYs2ytdQAoy7tdgyEV0DVyT7HNJNJe5vtusjDKFWrcUvAXA9yRRXEFFwzq5Ba62hSI L0m9NzkjzQiO8pTwnNRHXj8lGkG3Bl6Eo/d2KKlF/Eym9jZWKeJl8N5Vi/15Fdx6ShzrOQ C83+S3rSj/Qpt4n2vrG6ZKoHPfz58dq4vlYT3CZ4VB2Bkh8zoKqyUA5GnVniHvSxJeP8ij smI59igNHTOrfdHSvgnHmhNhzSA5cn7EjYzpn5RTmzdoGaO1ONbuKJ9BJPSxZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fFhCx2ymGz1C3P for ; Tue, 17 Feb 2026 14:02:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 430b3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 17 Feb 2026 14:02:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 507c611aeac7 - main - m4: Fix eval output width List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 507c611aeac7ca9aed12353b1044bb21ab00afae Auto-Submitted: auto-generated Date: Tue, 17 Feb 2026 14:02:21 +0000 Message-Id: <699474ed.430b3.aec99f6@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=507c611aeac7ca9aed12353b1044bb21ab00afae commit 507c611aeac7ca9aed12353b1044bb21ab00afae Author: Dag-Erling Smørgrav AuthorDate: 2026-02-17 14:01:34 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-17 14:01: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 --- 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