Even up WTF::String to CString functions
authorbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Aug 2012 18:55:11 +0000 (18:55 +0000)
committerbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Aug 2012 18:55:11 +0000 (18:55 +0000)
https://bugs.webkit.org/show_bug.cgi?id=95008

Reviewed by Sam Weinig.

Apply advantages from UString to WTF::String.

* wtf/text/WTFString.cpp:
(WTF::String::ascii): There is no need to special case the null length, both
following branches use CString::newUninitialized(), which create empty string
for null length.
(WTF::String::latin1): Use characters16() instead of characters() to avoid
testing is8Bit() a second time.

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

Source/WTF/ChangeLog
Source/WTF/wtf/text/WTFString.cpp

index 8085eef..780fe04 100644 (file)
@@ -1,3 +1,19 @@
+2012-08-27  Benjamin Poulain  <benjamin@webkit.org>
+
+        Even up WTF::String to CString functions
+        https://bugs.webkit.org/show_bug.cgi?id=95008
+
+        Reviewed by Sam Weinig.
+
+        Apply advantages from UString to WTF::String.
+
+        * wtf/text/WTFString.cpp:
+        (WTF::String::ascii): There is no need to special case the null length, both
+        following branches use CString::newUninitialized(), which create empty string
+        for null length.
+        (WTF::String::latin1): Use characters16() instead of characters() to avoid
+        testing is8Bit() a second time.
+
 2012-08-24  Benjamin Poulain  <benjamin@webkit.org>
 
         Touch Platform.h to solve a build dependency issue
index 72b048d..115e5d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) 1999 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2012 Apple Inc. All rights reserved.
  * Copyright (C) 2007-2009 Torch Mobile, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -604,11 +604,6 @@ CString String::ascii() const
 
     unsigned length = this->length();
 
-    if (!length) {
-        char* characterBuffer;
-        return CString::newUninitialized(length, characterBuffer);
-    }
-
     if (this->is8Bit()) {
         const LChar* characters = this->characters8();
 
@@ -649,7 +644,7 @@ CString String::latin1() const
     if (is8Bit())
         return CString(reinterpret_cast<const char*>(this->characters8()), length);
 
-    const UChar* characters = this->characters();
+    const UChar* characters = this->characters16();
 
     char* characterBuffer;
     CString result = CString::newUninitialized(length, characterBuffer);