Ignore:
Timestamp:
May 13, 2008, 2:46:47 AM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Geoffrey Garen.

<rdar://problem/4949018> JavaScriptCore API claims to work with UTF8 strings, but only works
with ASCII strings


  • kjs/ustring.h:
  • kjs/ustring.cpp: (KJS::UString::Rep::createFromUTF8): Added. Implementation adapted from JSStringCreateWithUTF8CString().
  • API/JSStringRef.cpp: (JSStringCreateWithUTF8CString):
  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): Use UString::Rep::createFromUTF8().
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/JSStringRef.cpp

    r30942 r33374  
    5252    JSLock lock;
    5353
    54     size_t length = strlen(string);
    55     Vector<UChar, 1024> buffer(length);
    56     UChar* p = buffer.data();
    57     if (conversionOK != convertUTF8ToUTF16(&string, string + length, &p, p + length))
     54    RefPtr<UString::Rep> result = UString::Rep::createFromUTF8(string);
     55    if (result.get() == &UString::Rep::null)
    5856        return 0;
    5957
    60     return toRef(UString(buffer.data(), p - buffer.data()).rep()->ref());
     58    return toRef(result.release().releaseRef());
    6159}
    6260
Note: See TracChangeset for help on using the changeset viewer.