[ARM] Incorrect handling of Unicode characters
authordbatyai.u-szeged@partner.samsung.com <dbatyai.u-szeged@partner.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Aug 2014 17:27:41 +0000 (17:27 +0000)
committerdbatyai.u-szeged@partner.samsung.com <dbatyai.u-szeged@partner.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Aug 2014 17:27:41 +0000 (17:27 +0000)
https://bugs.webkit.org/show_bug.cgi?id=135380

Reviewed by Darin Adler.

Removed erroneous fast case from stringFromUTF(), since it assumed that
char is always implemented as signed.

* jsc.cpp:
(stringFromUTF):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jsc.cpp

index 68aca77..b68e87c 100644 (file)
@@ -1,5 +1,18 @@
 2014-08-06  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
 
+        [ARM] Incorrect handling of Unicode characters
+        https://bugs.webkit.org/show_bug.cgi?id=135380
+
+        Reviewed by Darin Adler.
+
+        Removed erroneous fast case from stringFromUTF(), since it assumed that 
+        char is always implemented as signed.
+
+        * jsc.cpp:
+        (stringFromUTF):
+
+2014-08-06  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
+
         [JSC] Build fix for FTL on EFL after ftlopt merge
         https://bugs.webkit.org/show_bug.cgi?id=135565
 
index 9577480..cb26770 100644 (file)
@@ -661,20 +661,7 @@ GlobalObject::GlobalObject(VM& vm, Structure* structure)
 
 static inline String stringFromUTF(const char* utf8)
 {
-    // Find the the first non-ascii character, or nul.
-    const char* pos = utf8;
-    while (*pos > 0)
-        pos++;
-    size_t asciiLength = pos - utf8;
-    
-    // Fast case - string is all ascii.
-    if (!*pos)
-        return String(utf8, asciiLength);
-    
-    // Slow case - contains non-ascii characters, use fromUTF8WithLatin1Fallback.
-    ASSERT(*pos < 0);
-    ASSERT(strlen(utf8) == asciiLength + strlen(pos));
-    return String::fromUTF8WithLatin1Fallback(utf8, asciiLength + strlen(pos));
+    return String::fromUTF8WithLatin1Fallback(utf8, strlen(utf8));
 }
 
 static inline SourceCode jscSource(const char* utf8, const String& filename)