From 6907c3e40a16d491fd0f7b224ba30a58e0777a24 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Sun, 25 Oct 2015 10:56:58 +0100 Subject: Escape " in generated settings_translation_file.cpp --- builtin/mainmenu/tab_settings.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'builtin/mainmenu') diff --git a/builtin/mainmenu/tab_settings.lua b/builtin/mainmenu/tab_settings.lua index 463a5e90b..d1ebb23ad 100644 --- a/builtin/mainmenu/tab_settings.lua +++ b/builtin/mainmenu/tab_settings.lua @@ -703,14 +703,17 @@ local function create_translation_file() local settings = parse_config_file(true, false) for _, entry in ipairs(settings) do if entry.type == "category" then - result = result .. "\tgettext(\"" .. entry.name .. "\");\n" + local name_escaped = entry.name:gsub("\"", "\\\"") + result = result .. "\tgettext(\"" .. name_escaped .. "\");\n" else if entry.readable_name then - result = result .. "\tgettext(\"" .. entry.readable_name .. "\");\n" + local readable_name_escaped = entry.readable_name:gsub("\"", "\\\"") + result = result .. "\tgettext(\"" .. readable_name_escaped .. "\");\n" end if entry.comment ~= "" then - local comment = entry.comment:gsub("\n", "\\n") - result = result .. "\tgettext(\"" .. comment .. "\");\n" + local comment_escaped = entry.comment:gsub("\n", "\\n") + comment_escaped = comment_escaped:gsub("\"", "\\\"") + result = result .. "\tgettext(\"" .. comment_escaped .. "\");\n" end end end -- cgit v1.2.3