From nobody Thu Feb 26 04:22:52 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 4fLyx91KMhz6TDxM for ; Thu, 26 Feb 2026 04:22:53 +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 4fLyx85mfgz3JbV for ; Thu, 26 Feb 2026 04:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772079772; 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=l4ZNUTqigXjMw0dTdrN5LLBwgsEwKoxn7eO3Hpa7OmQ=; b=JOHYM2Z+VFAlioLcdGKRHtsIXF99CzFrK5hd7TQ7Owl/8lj2wTodd9wkgkY/jaMuXmRl3W 60PqKb+Z3n1uNKpdQteV69Zk5WysxSy3M4OXUY7TN9oYtlduk4+ow2tfRzz/1Q4qMpCYmY ubTOtaSyRGYoqkykHr//HRMAJv6VB3R8WcVcgdXFTzzshBMdPIfcMNxzDb0jNV5zyZFEPT yvRPbSwuiVgYR8OcNiaA160EAFJf0CbJ4UtKU5U1V7jm7xwEv0Vnr1QZnYds0Ojgp03dMk pWb0sJ+O2ZvCZ5Clp9trHUGroCNFSV92U08R1clLTe4pOQUM6GjuV8KbiQ2arA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772079772; a=rsa-sha256; cv=none; b=vQsLnUCChzTkDbazzKlyjX0K8dSpt4tY6TQ3U474Lvm9LIwIsi/T/6OHn9n3JyzGcyH90y a2CqUzbLHFJIlu0K5FYrFZzQ4wzdd5yYc1vcP5qEWjs7MGfr0u3NyKEPCwz/fP0v2OAnyo NBXHtFw6t16xGE8AipTFPGmXAChEcR5vVZ+B9rNY4QPPdd7/qC0TZVxyyFp93M8NUEWs9h L0c+aQ1Z3vr70XwfiGLr/YWtjm8dRxzHRGlFxaIDVct+yWnzMh6/36wIUGnaKOioELiDrl x+gwP5JrALIsoBXpV0MMWVH3fnfxnvZRcgKaGFnXPdu2xZa72ekPcZoAt1isSw== 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=1772079772; 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=l4ZNUTqigXjMw0dTdrN5LLBwgsEwKoxn7eO3Hpa7OmQ=; b=Xbn1RWFWVj3uzDuxG5/RJPBXLzTP8bIqrGdx+/lXMSTV2p1vSTPlNkzZ5zs54HPlxSlcH6 aeRt3+RDZIi8T54ejjFs8X6el8x+MgBEYgOOMKN7fLg7rpw5bUrwSfek5/Tjo7cAhwRsvl A6mGw2T7oGM/myWEQYjQgycdtf0eTvVJm0Uivv8yTfUhTCFB3IjZkth+HC7pwbkZGdscv8 /PD31skF+6EQn+ERtb3Ikx6nSpitklUO4lwvCSMFINVb5M7UoShebDZg8KZyGgq9cFYELp tVh8xfzyT3EDezU9zezD6SHrswwKMZPd1n+aEqlG3SzGbA9wvP+4H7/qlvhwmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fLyx85158z1vH for ; Thu, 26 Feb 2026 04:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34260 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 04:22:52 +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: c550d07d8d5f - stable/13 - 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/13 X-Git-Reftype: branch X-Git-Commit: c550d07d8d5f152b4b89f6c737188c30af199e3a Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 04:22:52 +0000 Message-Id: <699fca9c.34260.75813f08@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c550d07d8d5f152b4b89f6c737188c30af199e3a commit c550d07d8d5f152b4b89f6c737188c30af199e3a Author: Dag-Erling Smørgrav AuthorDate: 2026-02-17 14:01:34 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-02-26 04:03:51 +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 82218eb9ba1c..dba903c2ba24 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) { @@ -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