On Tue, Feb 24, 2026 at 01:41:26PM +0100, Rene Kita wrote:
On Tue, Feb 24, 2026 at 07:23:26PM +0800, Kevin J. McCarthy wrote:

This explains why it went so smooth with Arch. m-(

Running the build on Arch I get multiple errors of this kind:
browser.c:548:17: error: initialization discards 'const' qualifier from
pointer target type [-Werror=discarded-qualifiers]
 548 |       char *c = strrchr (d, '/');
     |                 ^~~~~~~

This is in function:
static int examine_directory (MUTTMENU *menu, struct browser_state *state,
                              const char *d, const char *prefix).

AFAIU, strrchr is defined as: char * strrchr(const char *s, int c).

*c is changed later in that function, so we can't make it const. Any
ideas what's the best way forward from here?

Ah, that was my mistake from 7 years ago! I changed the parameter type when I was converting to buffers and the compiler didn't flag anything, so I failed to notice d was sneakily being modified.

The "d" parameters buffers all come from the pool, so they won't be NULL. I think the best thing to do is change the parameter type back to char *d and just directly pass the parameter->data. But let me take a closer look tomorrow and fix it up.

--
Kevin J. McCarthy
GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA

Attachment: signature.asc
Description: PGP signature

Reply via email to