Escaping chars in a less shitty, but actually compiling for real, way

This commit is contained in:
Barry Revzin 2021-12-24 17:39:35 -06:00
parent a740236988
commit eaf190661f

View File

@ -1700,10 +1700,9 @@ auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
template <typename OutputIt>
auto write_escaped_char(OutputIt out, char v) -> OutputIt {
*out++ = '\'';
if ((needs_escape(v) && v != '"') || v == '\'') {
out = write_escaped_cp(out, find_escape_result<char>{
&v, &v+1, static_cast<uint32_t>(v)
});
if ((needs_escape(static_cast<uint32_t>(v)) && v != '"') || v == '\'') {
out = write_escaped_cp(
out, find_escape_result<char>{&v, &v + 1, static_cast<uint32_t>(v)});
} else {
*out++ = v;
}