MCPcopy Create free account
hub / github.com/apache/trafficserver / WriteDoubleQuoteEscapeSequence

Function WriteDoubleQuoteEscapeSequence

lib/yamlcpp/src/emitterutils.cpp:230–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

228}
229
230void WriteDoubleQuoteEscapeSequence(ostream_wrapper& out, int codePoint, StringEscaping::value stringEscapingStyle) {
231 static const char hexDigits[] = "0123456789abcdef";
232
233 out << "\\";
234 int digits = 8;
235 if (codePoint < 0xFF && stringEscapingStyle != StringEscaping::JSON) {
236 out << "x";
237 digits = 2;
238 } else if (codePoint < 0xFFFF) {
239 out << "u";
240 digits = 4;
241 } else if (stringEscapingStyle != StringEscaping::JSON) {
242 out << "U";
243 digits = 8;
244 } else {
245 auto surrogatePair = EncodeUTF16SurrogatePair(codePoint);
246 WriteDoubleQuoteEscapeSequence(out, surrogatePair.first, stringEscapingStyle);
247 WriteDoubleQuoteEscapeSequence(out, surrogatePair.second, stringEscapingStyle);
248 return;
249 }
250
251 // Write digits into the escape sequence
252 for (; digits > 0; --digits)
253 out << hexDigits[(codePoint >> (4 * (digits - 1))) & 0xF];
254}
255
256bool WriteAliasName(ostream_wrapper& out, const std::string& str) {
257 int codePoint;

Callers 2

WriteDoubleQuotedStringFunction · 0.85
WriteCharFunction · 0.85

Calls 1

EncodeUTF16SurrogatePairFunction · 0.85

Tested by

no test coverage detected