summaryrefslogtreecommitdiff
path: root/libutils/String16.cpp
diff options
context:
space:
mode:
authorSteven Moreland <smoreland@google.com>2018-03-08 21:40:51 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-03-08 21:40:51 +0000
commit41a294981b2ddab9eac0eb1fd79871561af5501e (patch)
tree89cea7dcf6db98eec0cb1a22837ec483b59a1d04 /libutils/String16.cpp
parentebcf07f05fdf6fdba53adc3d4dcd350585961d64 (diff)
parent929112bcd19e92c9b9f647d8a227ba55c743239d (diff)
Merge "libutils: Remove Static.cpp and darwin hacks."
am: 929112bcd1 Change-Id: I5c5674a1bb53f744185edced05240457d2f5d08b
Diffstat (limited to 'libutils/String16.cpp')
-rw-r--r--libutils/String16.cpp29
1 files changed, 8 insertions, 21 deletions
diff --git a/libutils/String16.cpp b/libutils/String16.cpp
index ad335c399..84d53dd76 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());
}
// ---------------------------------------------------------------------------