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) {