bool PyUnicodeUCS2::resize(size_t newsize) { if (mStr != NULL) mStr = (wchar_t*)ASCENT_REALLOC(mStr,(newsize+1) * 2); else mStr = (wchar_t*)ASCENT_MALLOC((newsize+1) * 2); mStrLen = newsize; if (mStr == NULL) { mStrLen = 0; return false; } return true; }
bool PyString::set(const char* str, size_t len) { if (str == NULL || len == 0) return false; if (mStr != NULL) mStr = static_cast<char*>(ASCENT_REALLOC(mStr, len+1)); else mStr = static_cast<char*>(ASCENT_MALLOC(len+1)); mStrLen = len; if (mStr == NULL) return false; ASCENT_MEMCPY(mStr, str, mStrLen); mStr[mStrLen] = '\0'; return true; }
bool PyString::resize( size_t new_size ) { /* handling rare conditions separately */ if (mStr != NULL && new_size == 0) { SafeFree(mStr); mStrLen = new_size; return true; } mStrLen = new_size; if (mStr != NULL) mStr = static_cast<char*>(ASCENT_REALLOC(mStr, mStrLen+1)); else mStr = static_cast<char*>(ASCENT_MALLOC(mStrLen+1)); if (mStr == NULL) return false; mStr[mStrLen] = '\0'; return true; }