asstring_t *objectString_FactoryBuffer( const char *buffer, unsigned int length ) { asstring_t *object; object = objectString_Alloc(); object->buffer = (char *)QAS_Malloc( sizeof( char ) * ( length + 1 ) ); object->len = length; object->buffer[length] = 0; object->size = length + 1; if( buffer ) Q_strncpyz( object->buffer, buffer, object->size ); return object; }
asstring_t *objectString_FactoryBuffer( const char *buffer, unsigned int length ) { asstring_t *object; unsigned int size = (length + 1) & ~CONST_STRING_BITFLAG; length = size-1; object = objectString_Alloc(); object->buffer = new char[size]; object->len = length; object->size = size; if( buffer ) { memcpy( object->buffer, buffer, length ); object->buffer[length] = '\0'; } else { object->len = 0; object->buffer[0] = '\0'; } return object; }