On Thu, Feb 19, 2026 at 08:49:59PM +0800, Kevin J. McCarthy wrote:
> On Thu, Feb 19, 2026 at 08:30:56PM +0800, Kevin J. McCarthy wrote:
> >I'm not dead set against it, but I've never thought the macros or naming
> >were confusing.
> >
> >Making the implementation of each the same seems like a good idea, but I
> >think it would be a shame to get ride of the skip_xxx() and is_xxx()
> >macros.  To me they make the code more readable, not less.
> 
> I will add that veering into needing to implement our own strchrnul() and
> using not-yet standardized C constructs like '?:' feel like it's going a bit
> too far though, for a minor cleanup.  Mutt moves slowly, and still is meant
> to work on (somewhat) older systems.

In practice, the only major platform that lacks strchrnul() is OpenBSD.

Virtually all users of mutt on OpenBSD who are not developers are either going
to be using the pre-built binary packages provided by the project, or
otherwise building from the ports tree.

A handful of other third-party programs in the ports tree use strchrnul, and
they have been patched locally to use alternatives.

So on a practical note, using strchrnul in the main mutt codebase isn't going
to cause much breakage.

And in that case the '?:' and custom strchrnul() implementation go away.

I'm not suggesting that this is the _correct_ approach, only that you won't
break a load of end-users' systems with such a change.

Reply via email to