diff --git a/src/files.c b/src/files.c index 00de5203f..935f263e0 100644 --- a/src/files.c +++ b/src/files.c @@ -3475,8 +3475,8 @@ read_wizkit(void) /* ---------- BEGIN SYMSET FILE HANDLING ----------- */ -extern const char *known_handling[]; /* symbols.c */ -extern const char *known_restrictions[]; /* symbols.c */ +extern const char *const known_handling[]; /* symbols.c */ +extern const char *const known_restrictions[]; /* symbols.c */ static FILE * diff --git a/src/options.c b/src/options.c index afe179615..168e6056b 100644 --- a/src/options.c +++ b/src/options.c @@ -3455,12 +3455,16 @@ optfn_suppress_alert(int optidx, int req, boolean negated, return optn_ok; } -extern const char *known_handling[]; /* symbols.c */ -extern const char *known_restrictions[]; /* symbols.c */ +extern const char *const known_handling[]; /* symbols.c */ +extern const char *const known_restrictions[]; /* symbols.c */ static int -optfn_symset(int optidx UNUSED, int req, boolean negated UNUSED, char *opts, - char *op) +optfn_symset( + int optidx UNUSED, + int req, + boolean negated UNUSED, + char *opts, + char *op) { if (req == do_init) { return optn_ok; @@ -3478,7 +3482,8 @@ optfn_symset(int optidx UNUSED, int req, boolean negated UNUSED, char *opts, if (g.symset[PRIMARYSET].handling) { #ifndef ENHANCED_SYMBOLS if (g.symset[PRIMARYSET].handling == H_UTF8) { - config_error_add("Unavailable symset handler \"%s\" for %s", + config_error_add( + "Unavailable symset handler \"%s\" for %s", known_handling[H_UTF8], op); load_symset("default", PRIMARYSET); } @@ -3495,7 +3500,8 @@ optfn_symset(int optidx UNUSED, int req, boolean negated UNUSED, char *opts, if (!opts) return optn_err; Sprintf(opts, "%s", - g.symset[PRIMARYSET].name ? g.symset[PRIMARYSET].name : "default"); + g.symset[PRIMARYSET].name ? g.symset[PRIMARYSET].name + : "default"); if (g.currentgraphics == PRIMARYSET && g.symset[PRIMARYSET].name) Strcat(opts, ", active"); if (g.symset[PRIMARYSET].handling) { @@ -3508,7 +3514,8 @@ optfn_symset(int optidx UNUSED, int req, boolean negated UNUSED, char *opts, if (!opts) return optn_err; Sprintf(opts, "%s", - g.symset[PRIMARYSET].name ? g.symset[PRIMARYSET].name : "default"); + g.symset[PRIMARYSET].name ? g.symset[PRIMARYSET].name + : "default"); return optn_ok; } if (req == do_handler) { diff --git a/src/symbols.c b/src/symbols.c index 6867bb425..4836c5675 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -7,7 +7,9 @@ static void savedsym_add(const char *, const char *, int); static struct _savedsym *savedsym_find(const char *, int); -void purge_custom_entries(enum graphics_sets which_set); +#ifdef ENHANCED_SYMBOLS +static void purge_custom_entries(enum graphics_sets which_set); +#endif extern const uchar def_r_oc_syms[MAXOCLASSES]; /* drawing.c */ @@ -27,10 +29,10 @@ void (*ibmgraphics_mode_callback)(void) = 0; #endif #ifdef ENHANCED_SYMBOLS void (*utf8graphics_mode_callback)(void) = 0; /* set in tty_start_screen and - found in unixtty, windtty, etc */ + * found in unixtty,windtty,&c */ #endif - /* +/* * Explanations of the functions found below: * * init_symbols() @@ -136,10 +138,10 @@ get_othersym(int idx, int which_set) if (which_set == ROGUESET) sym = g.ov_rogue_syms[oidx] ? g.ov_rogue_syms[oidx] - : g.rogue_syms[oidx]; + : g.rogue_syms[oidx]; else sym = g.ov_primary_syms[oidx] ? g.ov_primary_syms[oidx] - : g.primary_syms[oidx]; + : g.primary_syms[oidx]; if (!sym) { switch(idx) { case SYM_NOTHING: @@ -194,7 +196,8 @@ init_rogue_symbols(void) for (i = 0; i < MAXPCHARS; i++) g.rogue_syms[i + SYM_OFF_P] = defsyms[i].sym; - g.rogue_syms[S_vodoor] = g.rogue_syms[S_hodoor] = g.rogue_syms[S_ndoor] = '+'; + g.rogue_syms[S_vodoor] = g.rogue_syms[S_hodoor] + = g.rogue_syms[S_ndoor] = '+'; g.rogue_syms[S_upstair] = g.rogue_syms[S_dnstair] = '%'; for (i = 0; i < MAXOCLASSES; i++) @@ -257,7 +260,7 @@ switch_symbols(int nondefault) if (nondefault) { for (i = 0; i < SYM_MAX; i++) g.showsyms[i] = g.ov_primary_syms[i] ? g.ov_primary_syms[i] - : g.primary_syms[i]; + : g.primary_syms[i]; #ifdef PC9800 if (SYMHANDLING(H_IBM) && ibmgraphics_mode_callback) (*ibmgraphics_mode_callback)(); @@ -339,26 +342,31 @@ clear_symsetentry(int which_set, boolean name_too) #endif } -boolean symset_is_compatible(enum symset_handling_types handling, unsigned long wincap2) +/* called from windmain.c */ +boolean +symset_is_compatible( + enum symset_handling_types handling, + unsigned long wincap2) { #ifdef ENHANCED_SYMBOLS - if ((handling == H_UTF8) && - (((wincap2 & WC2_U_UTF8STR) == 0) - || ((wincap2 & WC2_U_24BITCOLOR) == 0))) +#define WC2_utf8_bits (WC2_U_UTF8STR | WC2_U_24BITCOLOR) + if (handling == H_UTF8 && ((wincap2 & WC2_utf8_bits) != WC2_utf8_bits)) return FALSE; +#undef WC2_bits #else nhUse(handling); nhUse(wincap2); #endif return TRUE; } - /* + +/* * If you are adding code somewhere to be able to recognize * particular types of symset "handling", define a * H_XXX macro in include/sym.h and add the name * to this array at the matching offset. */ -const char *known_handling[] = { +const char *const known_handling[] = { "UNKNOWN", /* H_UNK */ "IBM", /* H_IBM */ "DEC", /* H_DEC */ @@ -381,7 +389,7 @@ const char *known_handling[] = { * under the case 5 sections of the same SYM_CONTROL idx switches. * - add the field to clear_symsetentry() */ -const char *known_restrictions[] = { +const char *const known_restrictions[] = { "primary", "rogue", (const char *) 0, }; @@ -1057,7 +1065,8 @@ struct customization_detail *find_matching_symset_customization( const char *customization_name, int custtype, enum graphics_sets which_set); struct customization_detail *find_display_urep_customization( - const char *customization_name, int glyphidx, enum graphics_sets which_set); + const char *customization_name, int glyphidx, + enum graphics_sets which_set); extern glyph_map glyphmap[MAX_GLYPH]; static void shuffle_customizations(void); @@ -1114,10 +1123,12 @@ shuffle_customizations(void) /* Current structure already appears in tmp_u */ struct unicode_representation *other = tmp_u[duplicate[idx]]; - tmp_u[i] = (struct unicode_representation *) alloc(sizeof *tmp_u[i]); + tmp_u[i] = (struct unicode_representation *) + alloc(sizeof *tmp_u[i]); *tmp_u[i] = *other; if (other->utf8str != NULL) { - tmp_u[i]->utf8str = (uint8 *) dupstr((const char *) other->utf8str); + tmp_u[i]->utf8str = (uint8 *) + dupstr((const char *) other->utf8str); } } else { tmp_u[i] = obj_glyphs[idx].u; @@ -1139,9 +1150,10 @@ shuffle_customizations(void) } struct customization_detail * -find_matching_symset_customization(const char *customization_name, - int custtype, - enum graphics_sets which_set) +find_matching_symset_customization( + const char *customization_name, + int custtype, + enum graphics_sets which_set) { struct symset_customization *gdc = &g.sym_customizations[which_set]; if ((gdc->custtype == custtype) @@ -1150,11 +1162,12 @@ find_matching_symset_customization(const char *customization_name, return (struct customization_detail *) 0; } -void +static void purge_custom_entries(enum graphics_sets which_set) { struct symset_customization *gdc = &g.sym_customizations[which_set]; struct customization_detail *details = gdc->details, *next; + while (details) { next = details->next; if (gdc->custtype == custom_ureps) { @@ -1179,12 +1192,14 @@ purge_custom_entries(enum graphics_sets which_set) } struct customization_detail * -find_display_sym_customization(const char *customization_name, - const struct symparse *symparse, - enum graphics_sets which_set) +find_display_sym_customization( + const char *customization_name, + const struct symparse *symparse, + enum graphics_sets which_set) { struct symset_customization *gdc = &g.sym_customizations[which_set]; struct customization_detail *symdetails; + if ((gdc->custtype == custom_symbols) && (strcmp(customization_name, gdc->customization_name) == 0)) { symdetails = gdc->details; diff --git a/src/utf8map.c b/src/utf8map.c index 35e390fbb..96fd32bd3 100644 --- a/src/utf8map.c +++ b/src/utf8map.c @@ -10,7 +10,7 @@ extern const struct symparse loadsyms[]; extern struct enum_dump monsdump[]; extern struct enum_dump objdump[]; extern glyph_map glyphmap[MAX_GLYPH]; -extern const char *known_handling[]; /* symbols.c */ +extern const char *const known_handling[]; /* symbols.c */ #ifdef ENHANCED_SYMBOLS @@ -65,7 +65,8 @@ to_custom_symset_entry_callback(int glyph, struct find_struct *findwhat) (findwhat->color != 0L) ? findwhat->color : 0L); #endif add_custom_urep_entry(known_handling[H_UTF8], glyph, - uval, utf8str, findwhat->color, g.symset_which_set); + uval, utf8str, findwhat->color, + g.symset_which_set); } } @@ -1053,8 +1054,9 @@ test_glyphnames(void) static void just_find_callback(int glyph UNUSED, struct find_struct *findwhat UNUSED) { - /* nothing */ + return; } + static int find_glyphs(const char *id) { @@ -1086,6 +1088,7 @@ to_unicode_callback(int glyph UNUSED, struct find_struct *findwhat) #endif } } + int glyphs_to_unicode(const char *id, const char *unicode_val, long clr) {