diff options
author | pkalinnikov <[email protected]> | 2022-02-10 16:50:15 +0300 |
---|---|---|
committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:50:15 +0300 |
commit | d507a9366b2ab84411afe63fea9fba5498891e1b (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /util/string/escape.cpp | |
parent | 9e33e026829d561d6fd46d72b88c367952e08075 (diff) |
Restoring authorship annotation for <[email protected]>. Commit 2 of 2.
Diffstat (limited to 'util/string/escape.cpp')
-rw-r--r-- | util/string/escape.cpp | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/util/string/escape.cpp b/util/string/escape.cpp index bbe8bbd0d2e..cd09a7dbd02 100644 --- a/util/string/escape.cpp +++ b/util/string/escape.cpp @@ -242,9 +242,9 @@ static TStr& DoUnescapeC(const TChar* p, size_t sz, TStr& res) { default: res.append(*p); break; - case 'a': - res.append('\a'); - break; + case 'a': + res.append('\a'); + break; case 'b': res.append('\b'); break; @@ -260,9 +260,9 @@ static TStr& DoUnescapeC(const TChar* p, size_t sz, TStr& res) { case 't': res.append('\t'); break; - case 'v': - res.append('\v'); - break; + case 'v': + res.append('\v'); + break; case 'u': { ui16 cp[2]; @@ -318,13 +318,13 @@ static TStr& DoUnescapeC(const TChar* p, size_t sz, TStr& res) { } ++p; - } else { + } else { const auto r = std::basic_string_view<TChar>(p, pe - p).find('\\'); const auto n = r != std::string::npos ? p + r : pe; res.append(p, n); p = n; - } + } } return res; @@ -363,43 +363,43 @@ template TUtf16String& UnescapeCImpl<TUtf16String::TChar>(const TUtf16String::TC template char* UnescapeC<char>(const char* str, size_t len, char* buf); -template <class TChar> -size_t UnescapeCCharLen(const TChar* begin, const TChar* end) { +template <class TChar> +size_t UnescapeCCharLen(const TChar* begin, const TChar* end) { if (begin >= end) { - return 0; + return 0; } if (*begin != '\\') { - return 1; + return 1; } if (++begin == end) { - return 1; + return 1; } - - switch (*begin) { - default: - return 2; - case 'u': - return CountHex<4>(begin + 1, end) == 4 ? 6 : 2; - case 'U': - return CountHex<8>(begin + 1, end) == 8 ? 10 : 2; - case 'x': - return 2 + CountHex<2>(begin + 1, end); - case '0': - case '1': - case '2': - case '3': - return 1 + CountOct<3>(begin, end); // >= 2 - case '4': - case '5': - case '6': - case '7': - return 1 + CountOct<2>(begin, end); // >= 2 - } -} - -template size_t UnescapeCCharLen<char>(const char* begin, const char* end); + + switch (*begin) { + default: + return 2; + case 'u': + return CountHex<4>(begin + 1, end) == 4 ? 6 : 2; + case 'U': + return CountHex<8>(begin + 1, end) == 8 ? 10 : 2; + case 'x': + return 2 + CountHex<2>(begin + 1, end); + case '0': + case '1': + case '2': + case '3': + return 1 + CountOct<3>(begin, end); // >= 2 + case '4': + case '5': + case '6': + case '7': + return 1 + CountOct<2>(begin, end); // >= 2 + } +} + +template size_t UnescapeCCharLen<char>(const char* begin, const char* end); template size_t UnescapeCCharLen<TUtf16String::TChar>(const TUtf16String::TChar* begin, const TUtf16String::TChar* end); - + TString& EscapeC(const TStringBuf str, TString& s) { return EscapeC(str.data(), str.size(), s); } |