diff --git a/src/language/ASTDotPrinter.cpp b/src/language/ASTDotPrinter.cpp index 7339d62307aa7f501ec73b2ef98dbceab2b5a51d..c01b906424e0ac0bf500e43b017b107f6a4217a5 100644 --- a/src/language/ASTDotPrinter.cpp +++ b/src/language/ASTDotPrinter.cpp @@ -11,7 +11,7 @@ ASTDotPrinter::_print(std::ostream& os, const ASTNode& node) const } else { if (node.has_content()) { os << " x" << m_node_number_map.at(&node) << " [ label=\"" << node.name() << "\\n" - << node.string_view() << "\\n" + << escapeString(node.string_view()) << "\\n" << dataTypeName(node.m_data_type) << "\" ]\n"; } else { os << " x" << m_node_number_map.at(&node) << " [ label=\"" << node.name() << "\\n" diff --git a/src/utils/EscapedString.hpp b/src/utils/EscapedString.hpp index a89fea0277cef63923d57f4f6d18edf545ee5657..08b384abcf972a246f4f5d4acd592b40c72e9b2e 100644 --- a/src/utils/EscapedString.hpp +++ b/src/utils/EscapedString.hpp @@ -3,11 +3,12 @@ #include <sstream> #include <string> +#include <string_view> #include <PugsMacros.hpp> PUGS_INLINE std::string -unescapeString(const std::string& input_string) +unescapeString(const std::string_view& input_string) { std::stringstream ss; for (size_t i = 1; i < input_string.size() - 1; ++i) { @@ -70,7 +71,7 @@ unescapeString(const std::string& input_string) } PUGS_INLINE std::string -escapeString(const std::string& input_string) +escapeString(const std::string_view& input_string) { std::stringstream ss; for (size_t i = 0; i < input_string.size(); ++i) {