Minitiure optimizations for BString: eliminated a superfluous variable,

and removed the "newData" calculation, since "dataLen" already contained
the same value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6613 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2004-02-17 04:06:44 +00:00
parent b70fa5139e
commit cd58ac9968
+8 -10
View File
@@ -1731,14 +1731,12 @@ BString::UnlockBuffer(int32 length)
{ {
_SetUsingAsCString(false); //debug _SetUsingAsCString(false); //debug
int32 len = length; if (length < 0)
length = (_privateData == NULL) ? 0 : strlen(_privateData);
if (len < 0) if (length != Length())
len = (_privateData == NULL) ? 0 : strlen(_privateData); _GrowBy(length - Length());
if (len != Length())
_GrowBy(len - Length());
return *this; return *this;
} }
@@ -2014,7 +2012,7 @@ BString::operator<<(float f)
/*---- Private or Reserved ------------------------------------------------*/ /*---- Private or Reserved ------------------------------------------------*/
char* char *
BString::_Alloc(int32 dataLen) BString::_Alloc(int32 dataLen)
{ {
char *dataPtr = _privateData ? _privateData - sizeof(int32) : NULL; char *dataPtr = _privateData ? _privateData - sizeof(int32) : NULL;
@@ -2028,9 +2026,9 @@ BString::_Alloc(int32 dataLen)
if (dataPtr) { if (dataPtr) {
dataPtr += sizeof(int32); dataPtr += sizeof(int32);
_privateData = dataPtr; _privateData = dataPtr;
int32 newLen = allocLen - sizeof(int32) - 1;
_SetLength(newLen); _SetLength(dataLen);
_privateData[newLen] = '\0'; _privateData[dataLen] = '\0';
} }
return dataPtr; return dataPtr;
} }