| static void copy_rule_string(char *string, int *state_out) | static void copy_rule_string(char *string, int *state_out) | ||||
| { | { | ||||
| // state 0: conditional, 1=pre, 2=match, 3=post, 4=phonemes | // state 0: conditional, 1=pre, 2=match, 3=post, 4=phonemes | ||||
| static char *const outbuf[5] = { rule_cond, rule_pre, rule_match, rule_post, rule_phonemes }; | |||||
| static char * const outbuf[5] = { rule_cond, rule_pre, rule_match, rule_post, rule_phonemes }; | |||||
| static const int next_state[5] = { 2, 2, 4, 4, 4 }; | static const int next_state[5] = { 2, 2, 4, 4, 4 }; | ||||
| char *output; | char *output; | ||||
| char *p; | char *p; |
| char ending[50] = {0}; | char ending[50] = {0}; | ||||
| // these lists are language specific, but are only relevant if the 'e' suffix flag is used | // these lists are language specific, but are only relevant if the 'e' suffix flag is used | ||||
| static const char *add_e_exceptions[] = { | |||||
| static const char * const add_e_exceptions[] = { | |||||
| "ion", NULL | "ion", NULL | ||||
| }; | }; | ||||
| static const char *add_e_additions[] = { | |||||
| static const char * const add_e_additions[] = { | |||||
| "c", "rs", "ir", "ur", "ath", "ns", "u", | "c", "rs", "ir", "ur", "ath", "ns", "u", | ||||
| "spong", // sponge | "spong", // sponge | ||||
| "rang", // strange | "rang", // strange |
| { NULL, -1 } | { NULL, -1 } | ||||
| }; | }; | ||||
| static const MNEM_TAB *mnem_tabs[5] = { | |||||
| static const MNEM_TAB * const mnem_tabs[5] = { | |||||
| NULL, mnem_rate, mnem_volume, mnem_pitch, mnem_range | NULL, mnem_rate, mnem_volume, mnem_pitch, mnem_range | ||||
| }; | }; | ||||
| { NULL, -1 } | { NULL, -1 } | ||||
| }; | }; | ||||
| static const char *prosody_attr[5] = { | |||||
| static const char * const prosody_attr[5] = { | |||||
| NULL, "rate", "volume", "pitch", "range" | NULL, "rate", "volume", "pitch", "range" | ||||
| }; | }; | ||||
| int n_bytes; | int n_bytes; | ||||
| int j; | int j; | ||||
| int shift; | int shift; | ||||
| static char unsigned code[4] = { 0, 0xc0, 0xe0, 0xf0 }; | |||||
| static const char unsigned code[4] = { 0, 0xc0, 0xe0, 0xf0 }; | |||||
| if (c < 0x80) { | if (c < 0x80) { | ||||
| buf[0] = c; | buf[0] = c; |