MCPcopy Create free account
hub / github.com/Snapchat/Valdi / toSTDString

Function toSTDString

valdi_core/src/valdi_core/cpp/Apple/CFConversions.cpp:144–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

142}
143
144std::string toSTDString(CFStringRef cfString) {
145 if (const char* direct = CFStringGetCStringPtr(cfString, kCFStringEncodingUTF8)) {
146 return std::string(direct);
147 }
148
149 auto len = CFStringGetLength(cfString);
150 auto maxBytes = CFStringGetMaximumSizeForEncoding(len, kCFStringEncodingUTF8) + 1;
151
152 std::string buffer(static_cast<std::size_t>(maxBytes), '\0');
153
154 if (CFStringGetCString(cfString, buffer.data(), buffer.size(), kCFStringEncodingUTF8)) {
155 buffer.resize(std::strlen(buffer.data()));
156 return buffer;
157 }
158
159 return "";
160}
161
162StringBox toStringBox(CFStringRef cfString) {
163 return StringCache::getGlobal().makeString(toSTDString(cfString));

Callers 2

toStringBoxFunction · 0.85
getCFValueDescriptionFunction · 0.85

Calls 3

dataMethod · 0.45
sizeMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected