From f5e3f667793dc7fd212185fc9989cad8014ecb86 Mon Sep 17 00:00:00 2001 From: CaS Date: Wed, 20 Mar 2002 06:46:26 +0000 Subject: [PATCH] String handling bugfix. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13163 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/GSString.m | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 85f5141a0..0b4a3ec50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-03-20 Richard Frith-Macdonald + + * Source/GSString.m: lossyCString_u() handle case where cString + contains more bytes than unicode string has characters. + 2002-03-19 Richard Frith-Macdonald * Source/GSString.m: lossyCString_c() fix in line with recent diff --git a/Source/GSString.m b/Source/GSString.m index 032ce3493..7cd81242c 100644 --- a/Source/GSString.m +++ b/Source/GSString.m @@ -1261,10 +1261,11 @@ lossyCString_c(ivars self) static inline const char* lossyCString_u(ivars self) { - unsigned l = self->_count; - unsigned char *r = (unsigned char*)_fastMallocBuffer(l + 1); + unsigned l = 0; + unsigned char *r = 0; - GSFromUnicode(&r, &l, self->_contents.u, l, defEnc, 0, GSUniTerminate); + GSFromUnicode(&r, &l, self->_contents.u, self->_count, defEnc, 0, + GSUniTemporary|GSUniTerminate); return (const char*)r; }