From nobody Wed Aug 26 10:12:40 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 4hVL7F34p5z6ppqy for ; Wed, 26 Aug 2026 10:12:41 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hVL7D6sfGz42M4 for ; Wed, 26 Aug 2026 10:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787739161; 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=0TbB6LLlRy7//bICjoH4WQHDY03KEZZNslUjtFsVRDI=; b=TsUOyjWpXT+qZMIuz/Y/rkSVkh1J7Jgi1LzYJ7WwpAiaXaOz6hZ4c5sEY7kH9Mk4RiwpDy nI9MmOW6hCFCtZPaQ7+fO5LCK8QqoNXS303a9+XvWN62eYUa89KI/B4W6UcvdVUyt1Tj/Z QOnhpLjbHpuxDP+xdH+duBdjjtOUgpLw4FoUg/gOTUAdu8s9bDD2rEXdDJsKGqTfUqUbP8 +c9Zk6UgBNqG53ggb13q7lc+6wZHPgnfOwL0dYVnhxY7aXytQet+aZu3EO6cqBvraog5PA VW2PoCzRoe2TsdBvwwjXYa3+XHXK9QJKBpToArKQXXTRnNQalaiYZevd48SP8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787739161; a=rsa-sha256; cv=none; b=kbG/MlYtm1oNxtWfhuLUuvMhtrrsbqMvVs1bQtPu15WI4Cl5Wy2An18omgVGETe9aTplFG z7x1/+54DsMSfLPW/FotkPv9Ocs2AciyOHz55/nDx+dD1vrnfOs8SgGjnOkBHzLXD1yCvZ 8kYuiK2iQLnP1jPxu3hPyL3LHk3Cb0LqavuTqcxXigjY1VWR6HfDnPRljrlogQy6o3PwBk 1GK6WGL2fsdPvtlE6dAKWhP+kEVUgPfoJTsU6g1sjoV9Q9clV352pMmlU8N5vg8n1Bix6E XNZLSNOf4DJtCkUU5wZrNm26zLunY/P2+WFzhriBM4Qoj0BhP1MTu17J9qpPNw== 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=1787739161; 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=0TbB6LLlRy7//bICjoH4WQHDY03KEZZNslUjtFsVRDI=; b=fXi6pLg53YOt6tNMcG1adVhn04Ytpm7zQn8Uvd0PzEwwSOwcA9uPWIuW4lTDzY8qKrlYDO O55F0Rgh3xp0P4IPG9L6v/Se/y6KcIGqJ3suVnSkS1AFCIU1zjZYXoGkd6vSKWSa+e1VJY 5a0PWfMm74ouBU9dgj+YteNkxCxyfWnXJhAAKpF2KyXhTC5edfnZntFMSnEP2Ez64wBDma spv9U8LFm+kYmgs11/Qgmftf66oRlNXqrwz8XumjYd5cT3AZqysxf8/dEgxVpcjh9cB/xg VeOoI9z3TWQ3UiKiK22Lg7JfywPh8hsrWbzxMGN1pQWEY2lPXnkyeR4rEVh56g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hVL7D5mGTzZgr for ; Wed, 26 Aug 2026 10:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ccd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 26 Aug 2026 10:12:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 198ab9e5acfa - stable/15 - mandoc: Const correctness for C23 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 198ab9e5acfaf367ff44a724f079a486eeef0b9f Auto-Submitted: auto-generated Date: Wed, 26 Aug 2026 10:12:40 +0000 Message-Id: <6a8ebc18.39ccd.4084841e@gitrepo.freebsd.org> The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=198ab9e5acfaf367ff44a724f079a486eeef0b9f commit 198ab9e5acfaf367ff44a724f079a486eeef0b9f Author: Lexi Winter AuthorDate: 2026-08-03 14:09:39 +0000 Commit: Lexi Winter CommitDate: 2026-08-26 09:56:12 +0000 mandoc: Const correctness for C23 On some platforms, e.g. Linux Clang 22.1.8 / glibc 2.43, strchr() now implements the C23 behaviour where passing a const pointer to strchr() also returns a const pointer. This breaks mandoc during the bootstrap build, since it assumes the return value is always a mutable pointer. In read.c, make the existing temporary pointer const, and for the mandoc_asprintf() call, add a new mutable local. In mdoc.c and out.c, since the data is mutable and is mutated here, remove const from the temporary pointers. MFC after: 1 week Reviewed by: fuz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58495 (cherry picked from commit 9f18614d5353ce513511ccbf59d09e76c93f7bc9) --- contrib/mandoc/mdoc.c | 3 +-- contrib/mandoc/out.c | 4 ++-- contrib/mandoc/read.c | 10 ++++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/contrib/mandoc/mdoc.c b/contrib/mandoc/mdoc.c index 475a6aa0ddb3..90a079870f64 100644 --- a/contrib/mandoc/mdoc.c +++ b/contrib/mandoc/mdoc.c @@ -165,8 +165,7 @@ static int mdoc_ptext(struct roff_man *mdoc, int line, char *buf, int offs) { struct roff_node *n; - const char *cp, *sp; - char *c, *ws, *end; + char *c, *ws, *end, *cp, *sp; n = mdoc->last; diff --git a/contrib/mandoc/out.c b/contrib/mandoc/out.c index 21c282b2141b..082e7e61e8af 100644 --- a/contrib/mandoc/out.c +++ b/contrib/mandoc/out.c @@ -457,8 +457,8 @@ static size_t tblcalc_literal(struct rofftbl *tbl, struct roffcol *col, const struct tbl_dat *dp, size_t mw) { - const char *str; /* Beginning of the first line. */ - const char *beg; /* Beginning of the current line. */ + char *str; /* Beginning of the first line. */ + char *beg; /* Beginning of the current line. */ char *end; /* End of the current line. */ /* Widths in basic units. */ diff --git a/contrib/mandoc/read.c b/contrib/mandoc/read.c index 0e8d32df5a5e..d958a25832b3 100644 --- a/contrib/mandoc/read.c +++ b/contrib/mandoc/read.c @@ -628,7 +628,7 @@ mparse_readfd(struct mparse *curp, int fd, const char *filename) int mparse_open(struct mparse *curp, const char *file) { - char *cp; + const char *cp; int fd, save_errno; cp = strrchr(file, '.'); @@ -645,10 +645,12 @@ mparse_open(struct mparse *curp, const char *file) */ if ( ! curp->gzip) { + char *fn; + save_errno = errno; - mandoc_asprintf(&cp, "%s.gz", file); - fd = open(cp, O_RDONLY); - free(cp); + mandoc_asprintf(&fn, "%s.gz", file); + fd = open(fn, O_RDONLY); + free(fn); errno = save_errno; if (fd != -1) { curp->gzip = 1;