summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/common/cstr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/common/cstr.cpp')
-rw-r--r--deps/icu-small/source/common/cstr.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/deps/icu-small/source/common/cstr.cpp b/deps/icu-small/source/common/cstr.cpp
new file mode 100644
index 0000000000..c30719361e
--- /dev/null
+++ b/deps/icu-small/source/common/cstr.cpp
@@ -0,0 +1,34 @@
+/*
+*******************************************************************************
+* Copyright (C) 2015-2016, International Business Machines
+* Corporation and others. All Rights Reserved.
+*******************************************************************************
+* file name: charstr.cpp
+*/
+#include "unicode/utypes.h"
+#include "unicode/unistr.h"
+
+#include "charstr.h"
+#include "cstr.h"
+
+U_NAMESPACE_BEGIN
+
+CStr::CStr(const UnicodeString &in) {
+ UErrorCode status = U_ZERO_ERROR;
+ int32_t length = in.extract(0, in.length(), NULL, (uint32_t)0);
+ int32_t resultCapacity = 0;
+ char *buf = s.getAppendBuffer(length, length, resultCapacity, status);
+ if (U_SUCCESS(status)) {
+ in.extract(0, in.length(), buf, resultCapacity);
+ s.append(buf, length, status);
+ }
+}
+
+CStr::~CStr() {
+}
+
+const char * CStr::operator ()() const {
+ return s.data();
+}
+
+U_NAMESPACE_END