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

Function unescape_string

src/fl/stl/json.cpp.hpp:631–655  ·  view source on GitHub ↗

Helper: Unescape JSON string (only call if has_escape_sequences() returns true)

Source from the content-addressed store, hash-verified

629
630// Helper: Unescape JSON string (only call if has_escape_sequences() returns true)
631fl::string unescape_string(const fl::span<const char>& span) {
632 fl::string result;
633 result.reserve(span.size());
634
635 for (size_t i = 0; i < span.size(); i++) {
636 if (span[i] == '\\' && i + 1 < span.size()) {
637 char next = span[i + 1];
638 switch (next) {
639 case '"': result += '"'; i++; break;
640 case '\\': result += '\\'; i++; break;
641 case '/': result += '/'; i++; break;
642 case 'b': result += '\b'; i++; break;
643 case 'f': result += '\f'; i++; break;
644 case 'n': result += '\n'; i++; break;
645 case 'r': result += '\r'; i++; break;
646 case 't': result += '\t'; i++; break;
647 default: result += span[i]; break; // Pass through unknown escapes
648 }
649 } else {
650 result += span[i];
651 }
652 }
653
654 return result;
655}
656
657// Array optimization helpers (Milestone 9)
658enum ArrayType { ALL_UINT8, ALL_INT16, ALL_FLOATS, GENERIC_ARRAY };

Callers 1

on_tokenMethod · 0.85

Calls 2

reserveMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected