diff options
Diffstat (limited to 'libs/utils/String16.cpp')
-rw-r--r-- | libs/utils/String16.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/libs/utils/String16.cpp b/libs/utils/String16.cpp index 94e072f..b09b728 100644 --- a/libs/utils/String16.cpp +++ b/libs/utils/String16.cpp @@ -20,11 +20,8 @@ #include <utils/Log.h> #include <utils/Unicode.h> #include <utils/String8.h> -#include <utils/TextOutput.h> #include <utils/threads.h> -#include <private/utils/Static.h> - #include <memory.h> #include <stdio.h> #include <ctype.h> @@ -96,6 +93,19 @@ String16::String16() { } +String16::String16(StaticLinkage) + : mString(0) +{ + // this constructor is used when we can't rely on the static-initializers + // having run. In this case we always allocate an empty string. It's less + // efficient than using getEmptyString(), but we assume it's uncommon. + + char16_t* data = static_cast<char16_t*>( + SharedBuffer::alloc(sizeof(char16_t))->data()); + data[0] = 0; + mString = data; +} + String16::String16(const String16& o) : mString(o.mString) { @@ -409,10 +419,4 @@ status_t String16::remove(size_t len, size_t begin) return NO_MEMORY; } -TextOutput& operator<<(TextOutput& to, const String16& val) -{ - to << String8(val).string(); - return to; -} - }; // namespace android |