| @@ -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; | |||
| } | |||