Re: Exim 4.100-RC1 released

Andrew C Aitchison via Exim-users <[email protected]> Thu, 30 Jul 2026 20:09:55 +0100 (BST)
Newsgroups gmane.mail.exim.user
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--===============4716604541257998053==
Content-Type: text/plain; format=flowed; charset=US-ASCII

On Thu, 30 Jul 2026, Bernard Quatermass via Exim-users wrote:

> Hi everybody,
>
> It's now time for the next RC journey towards a new release with all the 
> improvements and fixes since 4.99

/usr/bin/clang-23 -Werror -Wno-constant-logical-operand \
  -Wno-dangling-else -Wno-format -Wno-format-extra-args \
  -Wno-format-insufficient-args -Wno-format-invalid-specifier \
  -Wno-misleading-indentation -Wno-missing-field-initializers \
  -Wno-parentheses -Wno-self-assign -Wno-sign-compare \
  -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-parameter \
  -Wno-unused-variable -Wno-empty-body \
   -c expand.c
expand.c:4666:23: error: assigning to 'char *' from 'const char *' discards qualifiers 
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
  4666 |     for(char * cp; cp = strpbrk(CCS item, tok); item = US cp)
       |                       ^ ~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Note that the options all turn *off* warnings, no "-Wall" !

Using the "CS" casting macro instead of "CCS" works:
  4666 |     for(char * cp; cp = strpbrk(CS item, tok); item = US cp)

Not sure why we cast "item" to const anyway; "CS" is sufficient in
smtp_in.c:4505
    if ((t= strpbrk(CS s, "\r\n")) != NULL)

[ More suited to exim-devel@ ... ]

The declaration of strpbrk does use const params but that means
this implementation guarantees not to change it.
It does not mean that we have to pass a const when calling it.

-- 
Andrew C. Aitchison                      Kendal, UK
                    [email protected]
--===============4716604541257998053==
Content-Type: text/x-diff; name=strpbrk.4.100rc1.patch
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description: 
Content-Disposition: attachment; filename=strpbrk.4.100rc1.patch

LS0tIC9ob21lL3NyYy91YnVudHUvZXhpbS9leGltLTQuMTAwLVJDMS9idWls
ZC1MaW51eC14ODZfNjQvZXhwYW5kLmMuZGlzdAkyMDI2LTA3LTMwIDE5OjU2
OjM3Ljg5MDMyOTc4MCArMDEwMA0KKysrIC9ob21lL3NyYy91YnVudHUvZXhp
bS9leGltLTQuMTAwLVJDMS9idWlsZC1MaW51eC14ODZfNjQvZXhwYW5kLmMJ
MjAyNi0wNy0zMCAxOTo1Njo1OC40NDg0NjU5NDMgKzAxMDANCkBAIC00NjYz
LDcgKzQ2NjMsNyBAQCB3aGlsZSAoKGl0ZW0gPSBzdHJpbmdfbmV4dGlubGlz
dCgmbGlzdCwNCiAgICAgY2hhciB0b2tbM107DQogICAgIHRva1swXSA9IHNl
cDsgdG9rWzFdID0gJzonOyB0b2tbMl0gPSAwOw0KIA0KLSAgICBmb3IoY2hh
ciAqIGNwOyBjcCA9IHN0cnBicmsoQ0NTIGl0ZW0sIHRvayk7IGl0ZW0gPSBV
UyBjcCkNCisgICAgZm9yKGNoYXIgKiBjcDsgY3AgPSBzdHJwYnJrKENTIGl0
ZW0sIHRvayk7IGl0ZW0gPSBVUyBjcCkNCiAgICAgICB7DQogICAgICAgeWll
bGQgPSBzdHJpbmdfY2F0bih5aWVsZCwgaXRlbSwgY3AgLSBDUyBpdGVtKTsN
CiAgICAgICBpZiAoKmNwKysgPT0gJzonKQkvKiBjb2xvbiBpbiBhIG5vbi1j
b2xvbi1zZXAgbGlzdCBpdGVtLCBuZWVkcyBkb3VibGluZyAqLw0K

--===============4716604541257998053==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
##   [email protected]
## Exim details at https://www.exim.org/
## Please use the Wiki with this list - https://code.exim.org/exim/wiki/wiki

--===============4716604541257998053==--