diff options
author | Steven Moreland <smoreland@google.com> | 2018-03-08 21:44:42 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-03-08 21:44:42 +0000 |
commit | d6c3476582e25018248a37c6195bd80248faba10 (patch) | |
tree | d685a6cb531c69d01358ec32c35db4134925ef81 /libutils/String16.cpp | |
parent | 2e9edab87735a767586de5f7bca7c3a61141401b (diff) | |
parent | 41a294981b2ddab9eac0eb1fd79871561af5501e (diff) |
Merge "libutils: Remove Static.cpp and darwin hacks." am: 929112bcd1
am: 41a294981b
Change-Id: Iebe132eaca4f9034a8e011881f1514f864529fc5
Diffstat (limited to 'libutils/String16.cpp')
-rw-r--r-- | libutils/String16.cpp | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/libutils/String16.cpp b/libutils/String16.cpp index e8f1c5184..230e970a4 100644 --- a/libutils/String16.cpp +++ b/libutils/String16.cpp @@ -24,29 +24,16 @@ namespace android { -static SharedBuffer* gEmptyStringBuf = NULL; -static char16_t* gEmptyString = NULL; +static inline char16_t* getEmptyString() { + static SharedBuffer* gEmptyStringBuf = [] { + SharedBuffer* buf = SharedBuffer::alloc(sizeof(char16_t)); + char16_t* str = static_cast<char16_t*>(buf->data()); + *str = 0; + return buf; + }(); -static inline char16_t* getEmptyString() -{ gEmptyStringBuf->acquire(); - return gEmptyString; -} - -void initialize_string16() -{ - SharedBuffer* buf = SharedBuffer::alloc(sizeof(char16_t)); - char16_t* str = (char16_t*)buf->data(); - *str = 0; - gEmptyStringBuf = buf; - gEmptyString = str; -} - -void terminate_string16() -{ - SharedBuffer::bufferFromData(gEmptyString)->release(); - gEmptyStringBuf = NULL; - gEmptyString = NULL; + return static_cast<char16_t*>(gEmptyStringBuf->data()); } // --------------------------------------------------------------------------- |