logging: improve escaping in yaml output

This commit is contained in:
Jannis Schönleber 2023-11-14 19:08:54 +01:00
parent 6bb4908a17
commit 6ee4682271

View file

@ -1188,6 +1188,7 @@ void dump_string_yaml_multiline(FILE * stream, const char * prop_name, const cha
if (!data_str.empty() && (std::isspace(data_str[0]) || std::isspace(data_str.back()))) {
data_str = std::regex_replace(data_str, std::regex("\n"), "\\n");
data_str = std::regex_replace(data_str, std::regex("\""), "\\\"");
data_str = std::regex_replace(data_str, std::regex("\\\\[^n\"]"), "\\$&");
data_str = "\"" + data_str + "\"";
fprintf(stream, "%s: %s\n", prop_name, data_str.c_str());
return;