From 703a88435fe96a120cd9f89b6de2aa5a13b17720 Mon Sep 17 00:00:00 2001 From: CaS Date: Thu, 11 Sep 2003 05:02:26 +0000 Subject: [PATCH] Small tweak git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17653 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ Source/Additions/Unicode.m | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d6e87f596..5f6e387b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-09-11 Richard Frith-Macdonald + + * Source/Unicode.m: Fix minor errors in utf8 handling. + 2003-09-10 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h (GSObjCSuper): diff --git a/Source/Additions/Unicode.m b/Source/Additions/Unicode.m index 7ff2a9ae1..2685ea43f 100644 --- a/Source/Additions/Unicode.m +++ b/Source/Additions/Unicode.m @@ -1640,7 +1640,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src, u1 = ((u1 & 0xff00 >> 8) + ((u1 & 0x00ff) << 8)); } - /* possibly get second character and caculate 'u' */ + /* possibly get second character and calculate 'u' */ if ((u1 >= 0xd800) && (u1 < 0xdc00)) { if (spos >= slen) @@ -1653,11 +1653,12 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src, u2 = src[spos++]; if (swapped == YES) { - u2 = ((u1 & 0xff00 >> 8) + ((u1 & 0x00ff) << 8)); + u2 = ((u2 & 0xff00 >> 8) + ((u2 & 0x00ff) << 8)); } if ((u2 < 0xdc00) && (u2 > 0xdfff)) { + spos--; result = NO; break; } @@ -1709,7 +1710,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src, } else { - unsigned i; + int i; unsigned char reversed[8]; /* split value into reversed array */