aboutsummaryrefslogtreecommitdiff
path: root/src/base/Osx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/Osx.cpp')
-rw-r--r--src/base/Osx.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/base/Osx.cpp b/src/base/Osx.cpp
index 46b923fe..d979f542 100644
--- a/src/base/Osx.cpp
+++ b/src/base/Osx.cpp
@@ -1,19 +1,22 @@
#include "cru/base/Osx.h"
+#include "cru/base/StringUtil.h"
namespace cru {
-CFWrapper<CFStringRef> ToCFString(StringView string) {
+CFWrapper<CFStringRef> ToCFString(std::string_view string) {
return CFWrapper<CFStringRef>(CFStringCreateWithBytes(
nullptr, reinterpret_cast<const UInt8*>(string.data()),
- string.size() * sizeof(std::uint16_t), kCFStringEncodingUTF16, false));
+ string.size() * sizeof(char), kCFStringEncodingUTF8, false));
}
-String FromCFStringRef(CFStringRef string) {
+std::string FromCFStringRef(CFStringRef string) {
auto length = CFStringGetLength(string);
- String result;
+ std::string result;
for (int i = 0; i < length; i++) {
- result.AppendCodePoint(CFStringGetCharacterAtIndex(string, i));
+ cru::string::Utf8EncodeCodePointAppend(
+ CFStringGetCharacterAtIndex(string, i),
+ [&result](char c) { result += c; });
}
return result;