inline StringImpl::StringImpl(const char* characters, unsigned length) : m_length(length) , m_hash(0) , m_inTable(false) , m_hasTerminatingNullCharacter(false) { ASSERT(characters); ASSERT(length); UChar* data = newUCharVector(length); for (unsigned i = 0; i != length; ++i) { unsigned char c = characters[i]; data[i] = c; } m_data = data; }
// This constructor is only for use by AtomicString. StringImpl::StringImpl(const char* characters, unsigned length, unsigned hash) : m_length(length) , m_hash(hash) , m_bufferIsInternal(false) { ASSERT(hash); ASSERT(characters); ASSERT(length); setInTable(); UChar* data = newUCharVector(length); for (unsigned i = 0; i != length; ++i) { unsigned char c = characters[i]; data[i] = c; } m_data = data; }