diff --git a/src/libespeak-ng/translate.c b/src/libespeak-ng/translate.c index 3a7b45b0..a1d43918 100644 --- a/src/libespeak-ng/translate.c +++ b/src/libespeak-ng/translate.c @@ -1792,17 +1792,18 @@ static int EmbeddedCommand(unsigned int *source_index_out) static const char *FindReplacementChars(Translator *tr, const char **pfrom, unsigned int c, unsigned int nextc, int *ignore_next_n) { - unsigned int uc = 0; const char *from = *pfrom; while (*(unsigned int *)from != 0) { + unsigned int fc = 0; // from character + *pfrom = from; - from += utf8_in((int *)&uc, from); - if (c == uc) { + from += utf8_in((int *)&fc, from); + if (c == fc) { if (*from == 0) return from + 1; - from += utf8_in((int *)&uc, from); - if (*from == 0 && uc == (unsigned int)towlower2(nextc, tr)) { + from += utf8_in((int *)&fc, from); + if (*from == 0 && fc == (unsigned int)towlower2(nextc, tr)) { *ignore_next_n = 1; return from + 1; }