X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/33638fbe8c7c203f8a36de00c5cc8eb403d619a7..5fd70d0768f86274b22e73f3cd8f59fec0325e36:/minibidi.c diff --git a/minibidi.c b/minibidi.c index b211dc85..85a0c9c4 100644 --- a/minibidi.c +++ b/minibidi.c @@ -58,7 +58,7 @@ shapetypes[(xh)-SHAPE_FIRST].type : SU) /*))*/ #define leastGreaterEven(x) ( ((x)+2) &~ 1 ) typedef struct bidi_char { - wchar_t origwc, wc; + unsigned int origwc, wc; unsigned short index; } bidi_char; @@ -70,7 +70,7 @@ unsigned char setOverrideBits(unsigned char level, unsigned char override); int getPreviousLevel(unsigned char* level, int from); int do_shape(bidi_char *line, bidi_char *to, int count); int do_bidi(bidi_char *line, int count); -void doMirror(wchar_t* ch); +void doMirror(unsigned int *ch); /* character types */ enum { @@ -1194,7 +1194,7 @@ int do_bidi(bidi_char *line, int count) unsigned char currentEmbedding; unsigned char currentOverride; unsigned char tempType; - int i, j, imax, yes, bover; + int i, j, yes, bover; /* Check the presence of R or AL types as optimization */ yes = 0; @@ -1604,17 +1604,14 @@ int do_bidi(bidi_char *line, int count) * level or higher */ /* we flip the character string and leave the level array */ - imax = 0; i=0; tempType = levels[0]; while (i < count) { - if (levels[i] > tempType) { + if (levels[i] > tempType) tempType = levels[i]; - imax=i; - } i++; } - /* maximum level in tempType, its index in imax. */ + /* maximum level in tempType. */ while (tempType > 0) { /* loop from highest level to the least odd, */ /* which i assume is 1 */ flipThisRun(line, levels, tempType, count); @@ -1639,7 +1636,7 @@ int do_bidi(bidi_char *line, int count) * takes a pointer to a character that is checked for * having a mirror glyph. */ -void doMirror(wchar_t* ch) +void doMirror(unsigned int *ch) { if ((*ch & 0xFF00) == 0) { switch (*ch) {