MCPcopy Create free account
hub / github.com/FastLED/FastLED / escapeJson

Method escapeJson

src/fl/test/fltest.cpp.hpp:701–729  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

699// =============================================================================
700
701fl::string JSONReporter::escapeJson(const char* text) FL_NOEXCEPT {
702 if (!text) return fl::string();
703
704 fl::string result;
705 for (const char* p = text; *p; ++p) {
706 switch (*p) {
707 case '\\': result += "\\\\"; break;
708 case '"': result += "\\\""; break;
709 case '\n': result += "\\n"; break;
710 case '\r': result += "\\r"; break;
711 case '\t': result += "\\t"; break;
712 default:
713 // Handle control characters
714 if (static_cast<unsigned char>(*p) < 32) {
715 // Skip control characters or encode them
716 result += "\\u00";
717 char hex[3];
718 hex[0] = "0123456789abcdef"[(*p >> 4) & 0xF];
719 hex[1] = "0123456789abcdef"[*p & 0xF];
720 hex[2] = '\0';
721 result += hex;
722 } else {
723 result += *p;
724 }
725 break;
726 }
727 }
728 return result;
729}
730
731void JSONReporter::testRunStart() FL_NOEXCEPT {
732 mTestResults.clear();

Callers

nothing calls this directly

Calls 1

stringClass · 0.50

Tested by

no test coverage detected