Aric Stewart <aric(a)codeweavers.com> writes:
> +void Indic_ReorderCharacters( LPWSTR input, int cChar, lexical_function lex, reorder_function reorder_f)
> +{
> + int index = 0;
> + int next = 0;
> + int center;
> +
> + if (!lex || ! reorder_f)
> + {
> + ERR("Failure to have required functions\n");
> + return;
> + }
> +
> + debug_output_string(input, cChar, lex);
> + while (next != -1)
> + {
> + ZERO_OR_MORE(lex_Generic);
> + index = next;
> + next = Indic_process_next_syllable(input, cChar, 0, ¢er, index, lex);
> + if (next != -1)
> + {
> + reorder_f(input, index, center, next-1, lex);
> + index = next;
> + }
> + else if (index < cChar)
> + {
> + int i;
> + TRACE("Processing failed at %i\n",index);
> + for (i = index; i < cChar; i++)
> + if (lex(input[i])==lex_Generic)
> + {
> + TRACE("Restart processing at %i\n",i);
> + next = i;
> + index = i;
> + break;
> + }
> + }
> + }
> + TRACE("Processed %i of %i characters\n",index,cChar);
> +}
Please don't add dead code. This function should be called from
somewhere (same for the subsequent patches).
--
Alexandre Julliard
julliard(a)winehq.org