From 5f6935dc8cb697f455728e42fa31567703fef7f3 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Thu, 14 Nov 2002 19:14:08 +0000 Subject: [PATCH] Fixed the build again. It seems that BGA Utf8_char_lenght() function really works :) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1939 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/support/String.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/kits/support/String.cpp b/src/kits/support/String.cpp index 5a300f0430..f22631bf97 100644 --- a/src/kits/support/String.cpp +++ b/src/kits/support/String.cpp @@ -87,15 +87,15 @@ BString::CountChars() const { int32 count = 0; char *ptr = _privateData; - - while (*ptr++) + + if (ptr == NULL) + return 0; + + while (*ptr) { - count++; - - // Jump to next UTF8 character - // for (; (*ptr & 0xc0) == 0x80; ptr++); // ejaesler: BGA's nifty function ptr += utf8_char_len(*ptr); + count++; } return count; @@ -1462,7 +1462,7 @@ BString::_Init(const char* str, int32 len) ASSERT(str != NULL); ASSERT(_privateData == NULL); - _privateData = malloc(len + sizeof(int32) + 1); + _privateData = (char*)malloc(len + sizeof(int32) + 1); _privateData += sizeof(int32); memcpy(_privateData, str, len); @@ -1502,7 +1502,7 @@ BString::_GrowBy(int32 size) int32 curLen = Length(); ASSERT(curLen + size >= 0); - if (_privateData != NULL) { + if (_privateData != NULL) _privateData -= sizeof(int32); _privateData = (char*)realloc(_privateData,