| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserv
     ed. |    2  * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserv
     ed. | 
|    3  * |    3  * | 
|    4  * Redistribution and use in source and binary forms, with or without |    4  * Redistribution and use in source and binary forms, with or without | 
|    5  * modification, are permitted provided that the following conditions |    5  * modification, are permitted provided that the following conditions | 
|    6  * are met: |    6  * are met: | 
|    7  * 1. Redistributions of source code must retain the above copyright |    7  * 1. Redistributions of source code must retain the above copyright | 
|    8  *    notice, this list of conditions and the following disclaimer. |    8  *    notice, this list of conditions and the following disclaimer. | 
|    9  * 2. Redistributions in binary form must reproduce the above copyright |    9  * 2. Redistributions in binary form must reproduce the above copyright | 
|   10  *    notice, this list of conditions and the following disclaimer in the |   10  *    notice, this list of conditions and the following disclaimer in the | 
|   11  *    documentation and/or other materials provided with the distribution. |   11  *    documentation and/or other materials provided with the distribution. | 
|   12  * |   12  * | 
|   13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |   13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 
|   14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |   14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
|   15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |   15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
|   16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR |   16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 
|   17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |   17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
|   18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |   18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
|   19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |   19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
|   20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |   20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
|   21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |   21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|   22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |   22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
|   23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |   23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|   24  */ |   24  */ | 
|   25  |   25  | 
|   26  |   26  | 
|   27 #include "wtf/text/CString.h" |   27 #include "wtf/text/CString.h" | 
|   28  |   28  | 
 |   29 #include "wtf/ASCIICType.h" | 
|   29 #include "wtf/allocator/PartitionAlloc.h" |   30 #include "wtf/allocator/PartitionAlloc.h" | 
|   30 #include "wtf/allocator/Partitions.h" |   31 #include "wtf/allocator/Partitions.h" | 
|   31 #include <string.h> |   32 #include <string.h> | 
|   32  |   33  | 
|   33 using namespace std; |   34 using namespace std; | 
|   34  |   35  | 
|   35 namespace WTF { |   36 namespace WTF { | 
|   36  |   37  | 
|   37 PassRefPtr<CStringBuffer> CStringBuffer::createUninitialized(size_t length) |   38 PassRefPtr<CStringBuffer> CStringBuffer::createUninitialized(size_t length) | 
|   38 { |   39 { | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  121  |  122  | 
|  122 bool operator==(const CString& a, const char* b) |  123 bool operator==(const CString& a, const char* b) | 
|  123 { |  124 { | 
|  124     if (a.isNull() != !b) |  125     if (a.isNull() != !b) | 
|  125         return false; |  126         return false; | 
|  126     if (!b) |  127     if (!b) | 
|  127         return true; |  128         return true; | 
|  128     return !strcmp(a.data(), b); |  129     return !strcmp(a.data(), b); | 
|  129 } |  130 } | 
|  130  |  131  | 
 |  132 std::ostream& operator<<(std::ostream& ostream, const CString& string) | 
 |  133 { | 
 |  134     if (string.isNull()) | 
 |  135         return ostream << "<null>"; | 
 |  136  | 
 |  137     ostream << '"'; | 
 |  138     for (size_t index = 0; index < string.length(); ++index) { | 
 |  139         // Print shorthands for select cases. | 
 |  140         char character = string.data()[index]; | 
 |  141         switch (character) { | 
 |  142         case '\t': | 
 |  143             ostream << "\\t"; | 
 |  144             break; | 
 |  145         case '\n': | 
 |  146             ostream << "\\n"; | 
 |  147             break; | 
 |  148         case '\r': | 
 |  149             ostream << "\\r"; | 
 |  150             break; | 
 |  151         case '"': | 
 |  152             ostream << "\\\""; | 
 |  153             break; | 
 |  154         case '\\': | 
 |  155             ostream << "\\\\"; | 
 |  156             break; | 
 |  157         default: | 
 |  158             if (isASCIIPrintable(character)) { | 
 |  159                 ostream << character; | 
 |  160             } else { | 
 |  161                 // Print "\xHH" for control or non-ASCII characters. | 
 |  162                 ostream << "\\x"; | 
 |  163                 if (character >= 0 && character < 0x10) | 
 |  164                     ostream << "0"; | 
 |  165                 ostream.setf(std::ios_base::hex, std::ios_base::basefield); | 
 |  166                 ostream.setf(std::ios::uppercase); | 
 |  167                 ostream << (character & 0xff); | 
 |  168             } | 
 |  169             break; | 
 |  170         } | 
 |  171     } | 
 |  172     return ostream << '"'; | 
 |  173 } | 
 |  174  | 
|  131 } // namespace WTF |  175 } // namespace WTF | 
| OLD | NEW |