Changeset 128908 in webkit
- Timestamp:
- Sep 18, 2012 10:57:33 AM (12 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r128900 r128908 1 2012-09-18 Glenn Adams <glenn@skynav.com> 2 3 WTFString::show doesn't dump non-ASCII characters in a readable manner 4 https://bugs.webkit.org/show_bug.cgi?id=96749 5 6 Reviewed by Benjamin Poulain. 7 8 Dump non-ASCII characters in a useful form for debugging. 9 10 * wtf/text/WTFString.cpp: 11 (asciiDebug): 12 Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters 13 using \uXXXX format. Also escape \ as \\ in order to remove ambiguity. 14 1 15 2012-09-18 Mark Hahnenberg <mhahnenberg@apple.com> 2 16 -
trunk/Source/WTF/wtf/text/WTFString.cpp
r128762 r128908 27 27 #include <wtf/ASCIICType.h> 28 28 #include <wtf/DataLog.h> 29 #include <wtf/HexNumber.h> 29 30 #include <wtf/MathExtras.h> 30 31 #include <wtf/MemoryInstrumentation.h> … … 1136 1137 1137 1138 Vector<char> buffer; 1138 unsigned length = impl->length(); 1139 const UChar* characters = impl->characters(); 1140 1141 buffer.resize(length + 1); 1142 for (unsigned i = 0; i < length; ++i) { 1143 UChar ch = characters[i]; 1144 buffer[i] = ch && (ch < 0x20 || ch > 0x7f) ? '?' : ch; 1145 } 1146 buffer[length] = '\0'; 1147 1139 for (unsigned i = 0; i < impl->length(); ++i) { 1140 UChar ch = (*impl)[i]; 1141 if (isASCIIPrintable(ch)) { 1142 if (ch == '\\') 1143 buffer.append(ch); 1144 buffer.append(ch); 1145 } else { 1146 buffer.append('\\'); 1147 buffer.append('u'); 1148 appendUnsignedAsHexFixedSize(ch, buffer, 4); 1149 } 1150 } 1151 buffer.append('\0'); 1148 1152 return buffer; 1149 1153 }
Note: See TracChangeset
for help on using the changeset viewer.