aboutsummaryrefslogtreecommitdiff
path: root/src/keymap.cpp
diff options
context:
space:
mode:
authorGravatar Dennis van der Schagt <dennisschagt@gmail.com> 2021-04-03 18:27:28 +0200
committerGravatar Dennis van der Schagt <dennisschagt@gmail.com> 2021-04-04 21:58:50 +0200
commit9df41252dec381d56a2c54d2238d03c268ef890f (patch)
tree56614496700f09c8fcbf532fdf486fd09fa2c0fa /src/keymap.cpp
parente76d0b88323c715e21ca93a9dfc15048abf732b1 (diff)
downloadnewsboat-9df41252dec381d56a2c54d2238d03c268ef890f.tar.gz
newsboat-9df41252dec381d56a2c54d2238d03c268ef890f.tar.zst
newsboat-9df41252dec381d56a2c54d2238d03c268ef890f.zip
Escape quotes and backslashes when dumping macro descriptions
Diffstat (limited to 'src/keymap.cpp')
-rw-r--r--src/keymap.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/keymap.cpp b/src/keymap.cpp
index a11192a8..95f182b1 100644
--- a/src/keymap.cpp
+++ b/src/keymap.cpp
@@ -681,7 +681,11 @@ void KeyMap::dump_config(std::vector<std::string>& config_output) const
}
}
if (macro.second.description.size() >= 1) {
- configline.append(strprintf::fmt(R"( -- "%s")", macro.second.description));
+ const auto escaped_string = utils::replace_all(macro.second.description, {
+ {R"(\)", R"(\\)"},
+ {R"(")", R"(\")"},
+ });
+ configline.append(strprintf::fmt(R"( -- "%s")", escaped_string));
}
config_output.push_back(configline);
}