예제 #1
0
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;
}
예제 #2
0
// 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;
}