From 90db8d7e2d325fec2fd94ab59f0d4c4773d507d5 Mon Sep 17 00:00:00 2001 From: nhmall Date: Tue, 31 Mar 2026 10:16:28 -0400 Subject: [PATCH] clear up some warnings appearing with gcc 15.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit allmain.c: In function ‘debug_fields’: allmain.c:1133:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 1133 | while ((op = strchr(opts, ',')) != 0) { | ^ cfgfiles.c: In function ‘find_optparam’: cfgfiles.c:590:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 590 | bufp = strchr(buf, '='); | ^ cfgfiles.c:591:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 591 | altp = strchr(buf, ':'); | ^ end.c: In function ‘should_query_disclose_option’: end.c:482:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 482 | if ((dop = strchr(disclosure_options, category)) != 0) { | ^ invent.c: In function ‘loot_classify’: invent.c:175:7: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 175 | p = strchr(classorder, oclass); | ^ o_init.c: In function ‘dodiscovered’: o_init.c:774:33: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 774 | if (!flags.discosort || !(p = strchr(disco_order_let, flags.discosort))) | ^ o_init.c: In function ‘doclassdisco’: o_init.c:907:33: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 907 | if (!flags.discosort || !(p = strchr(disco_order_let, flags.discosort))) | ^ objnam.c: In function ‘the’: objnam.c:2200:19: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 2200 | if (((tmp = strrchr(str, ' ')) != 0 || (tmp = strrchr(str, '-')) != 0) | ^ objnam.c:2200:53: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 2200 | if (((tmp = strrchr(str, ' ')) != 0 || (tmp = strrchr(str, '-')) != 0) | ^ options.c: In function ‘optfn_disclose’: options.c:1529:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 1529 | dop = strchr(disclosure_options, c); | ^ pager.c: In function ‘add_cmap_descr’: pager.c:1212:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 1212 | || ((p = strchr(x_str, ' ')) != 0 && !strcmpi(p, " ice")) | ^ --- src/allmain.c | 11 +++++++---- src/cfgfiles.c | 4 ++-- src/end.c | 3 ++- src/invent.c | 2 +- src/o_init.c | 16 ++++++++++------ src/objnam.c | 3 ++- src/options.c | 3 ++- src/pager.c | 3 ++- 8 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/allmain.c b/src/allmain.c index b53f92fe0..4e0021eaf 100644 --- a/src/allmain.c +++ b/src/allmain.c @@ -21,7 +21,7 @@ staticfn void do_positionbar(void); staticfn void regen_pw(int); staticfn void regen_hp(int); staticfn void interrupt_multi(const char *); -staticfn void debug_fields(const char *); +staticfn void debug_fields(char *); #ifndef NODUMPENUMS staticfn void dump_enums(void); #endif @@ -1041,8 +1041,11 @@ argcheck(int argc, char *argv[], enum earlyarg e_arg) switch(e_arg) { case ARG_DEBUG: if (extended_opt) { - extended_opt++; - debug_fields(extended_opt); + char *cpy_extended_opt; + + cpy_extended_opt = dupstr(extended_opt); + debug_fields(cpy_extended_opt + 1); + free((genericptr_t) cpy_extended_opt); } return 1; case ARG_VERSION: { @@ -1125,7 +1128,7 @@ argcheck(int argc, char *argv[], enum earlyarg e_arg) * fuzzer - enable fuzzer without debugger intervention. */ staticfn void -debug_fields(const char *opts) +debug_fields(char *opts) { char *op; boolean negated = FALSE; diff --git a/src/cfgfiles.c b/src/cfgfiles.c index ca05d35cd..2084866d0 100644 --- a/src/cfgfiles.c +++ b/src/cfgfiles.c @@ -34,7 +34,7 @@ staticfn void free_config_sections(void); staticfn char *is_config_section(char *); staticfn boolean handle_config_section(char *); boolean parse_config_line(char *); -staticfn char *find_optparam(const char *); +staticfn char *find_optparam(char *); #ifndef SFCTOOL staticfn boolean cnf_line_OPTIONS(char *); staticfn boolean cnf_line_AUTOPICKUP_EXCEPTION(char *); @@ -583,7 +583,7 @@ handle_config_section(char *buf) /* find the '=' or ':' */ staticfn char * -find_optparam(const char *buf) +find_optparam(char *buf) { char *bufp, *altp; diff --git a/src/end.c b/src/end.c index 6d8da53a7..389d8f548 100644 --- a/src/end.c +++ b/src/end.c @@ -476,7 +476,8 @@ staticfn boolean should_query_disclose_option(int category, char *defquery) { int idx; - char disclose, *dop; + char disclose; + const char *dop; *defquery = 'n'; if ((dop = strchr(disclosure_options, category)) != 0) { diff --git a/src/invent.c b/src/invent.c index 713bd7d7a..a34517acf 100644 --- a/src/invent.c +++ b/src/invent.c @@ -159,7 +159,7 @@ loot_classify(Loot *sort_item, struct obj *obj) }; static char armcat[8]; const char *classorder; - char *p; + const char *p; int k, otyp = obj->otyp, oclass = obj->oclass; boolean seen, discovered = objects[otyp].oc_name_known ? TRUE : FALSE; diff --git a/src/o_init.c b/src/o_init.c index 67fd4d21d..5bb82d2e2 100644 --- a/src/o_init.c +++ b/src/o_init.c @@ -764,9 +764,10 @@ int dodiscovered(void) /* free after Robert Viduya */ { winid tmpwin; - char *s, *p, oclass, prev_class, + char *s, oclass, prev_class, classes[MAXOCLASSES], buf[BUFSZ], *sorted_lines[NUM_OBJECTS]; /* overkill */ + const char *p; int i, dis, ct, uniq_ct, arti_ct, sorted_ct, uidx; long sortindx; // should be ptrdiff_t, but we don't require that exists boolean alphabetized, alphabyclass, lootsort; @@ -897,9 +898,10 @@ doclassdisco(void) winid tmpwin = WIN_ERR; menu_item *pick_list = 0; anything any; - char *p, *s, c, oclass, menulet, allclasses[MAXOCLASSES], + char *s, c, oclass, menulet, allclasses[MAXOCLASSES], discosyms[3 + MAXOCLASSES + 1], buf[BUFSZ], *sorted_lines[NUM_OBJECTS]; /* overkill */ + const char *p; int i, ct, dis, xtras, sorted_ct, uidx; boolean traditional, alphabetized, lootsort; int clr = NO_COLOR; @@ -1105,12 +1107,14 @@ doclassdisco(void) } else if (sorted_ct) { qsort(sorted_lines, sorted_ct, sizeof (char *), discovered_cmp); for (i = 0; i < sorted_ct; ++i) { - p = sorted_lines[i]; + char *sl; + + sl = sorted_lines[i]; if (lootsort) { - p[6] = p[0]; /* '*' or ' ' */ - p += 6; + sl[6] = sl[0]; /* '*' or ' ' */ + sl += 6; } - putstr(tmpwin, 0, p); + putstr(tmpwin, 0, sl); free(sorted_lines[i]), sorted_lines[i] = 0; } } diff --git a/src/objnam.c b/src/objnam.c index 7c5a2d637..1246029fd 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -2193,7 +2193,8 @@ the(const char *str) insert_the = TRUE; } else { /* Probably a proper name, might not need an article */ - char *tmp, *named, *called; + char *named, *called; + const char *tmp; int l; /* some objects have capitalized adjectives in their names */ diff --git a/src/options.c b/src/options.c index 6f5a565ae..c22105c03 100644 --- a/src/options.c +++ b/src/options.c @@ -1519,7 +1519,8 @@ optfn_disclose( DISCLOSE_NO_WITHOUT_PROMPT, DISCLOSE_SPECIAL_WITHOUT_PROMPT, '\0' }; - char c, *dop; + char c; + const char *dop; c = lowc(*op); if (c == 'k') diff --git a/src/pager.c b/src/pager.c index f016cd258..82b8bc7eb 100644 --- a/src/pager.c +++ b/src/pager.c @@ -1143,7 +1143,8 @@ add_cmap_descr( const char **firstmatch, /* output: pointer to 1st matching description */ char *out_str) /* input/output: current description gets appended */ { - char *mbuf = NULL, *p; + char *mbuf = NULL; + const char *p; int absidx = abs(idx); if (glyph == NO_GLYPH) {