aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorY. Wang <yw05@forksworld.de>2024-03-18 02:02:27 +0100
committerY. Wang <yw05@forksworld.de>2024-03-18 02:02:27 +0100
commitfc828882d7354e70ff2e51dd6dcf4ba4ee50349d (patch)
tree77c700c99f67ec5b53db83c5a0114a6974160ac7
parent0fa1045e901090cab0bee5aaa53f8740e2b121f4 (diff)
downloadadvtrains-fc828882d7354e70ff2e51dd6dcf4ba4ee50349d.tar.gz
advtrains-fc828882d7354e70ff2e51dd6dcf4ba4ee50349d.tar.bz2
advtrains-fc828882d7354e70ff2e51dd6dcf4ba4ee50349d.zip
Fix inconsistent backslash escaping
-rw-r--r--advtrains/poconvert.lua4
-rw-r--r--advtrains/spec/poconvert_spec.lua6
2 files changed, 5 insertions, 5 deletions
diff --git a/advtrains/poconvert.lua b/advtrains/poconvert.lua
index f44cbd1..3075282 100644
--- a/advtrains/poconvert.lua
+++ b/advtrains/poconvert.lua
@@ -13,12 +13,12 @@ do
local function replace_single(pfx, c)
local pl = #pfx
if pl % 2 == 0 then
- return pfx .. c
+ return pfx:sub(1, pl/2) .. c
end
return string.sub(pfx, 1, math.floor(pl/2)) .. (schartbl[c] or c)
end
unescape_string = function(str)
- return (string.gsub(str, [[(\+)([abefnrtv'"?])]], replace_single):gsub([[\\]], [[\]]))
+ return string.gsub(str, [[(\+)([abefnrtv'"?])]], replace_single)
end
end
diff --git a/advtrains/spec/poconvert_spec.lua b/advtrains/spec/poconvert_spec.lua
index ef87619..7b2ceea 100644
--- a/advtrains/spec/poconvert_spec.lua
+++ b/advtrains/spec/poconvert_spec.lua
@@ -9,7 +9,7 @@ describe("PO file converter", function()
# textdomain: foo
foo=bar
baz=
-#@=wh\at\@n=@=w\as\@n
+#@=wh\at\\@n=@=w\as\\@n
multiline@nstrings=
with context?=oder doch nicht]], poconvert.from_string("foo", [[
msgid ""
@@ -22,8 +22,8 @@ msgid "baz"
msgstr ""
#, fuzzy
-msgid "=wh\\at\\\n"
-msgstr "=w\\as\\\n"
+msgid "=wh\\at\\\\\n"
+msgstr "=w\\as\\\\\n"
msgid "multi"
"line\n"