X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=tools%2Ferlparse.lua;h=174585d338433d3c9db14a4f722ed4c029e41c68;hb=2f2e1a8532941497e86b7d46fa955ac34a1d1da1;hp=dc3a2f94e6d44c3d03fa20d09dc57c94bec31d69;hpb=766b0d7351ea05f14247a6707abdc73e57882a3b;p=prosody.git diff --git a/tools/erlparse.lua b/tools/erlparse.lua index dc3a2f94..174585d3 100644 --- a/tools/erlparse.lua +++ b/tools/erlparse.lua @@ -51,7 +51,7 @@ local function isSpace(ch) return ch <= _space; end -local escapes = {["\\b"]="\b", ["\\d"]="\d", ["\\e"]="\e", ["\\f"]="\f", ["\\n"]="\n", ["\\r"]="\r", ["\\s"]="\s", ["\\t"]="\t", ["\\v"]="\v", ["\\\""]="\"", ["\\'"]="'", ["\\\\"]="\\"}; +local escapes = {["\\b"]="\b", ["\\d"]="\127", ["\\e"]="\27", ["\\f"]="\f", ["\\n"]="\n", ["\\r"]="\r", ["\\s"]=" ", ["\\t"]="\t", ["\\v"]="\v", ["\\\""]="\"", ["\\'"]="'", ["\\\\"]="\\"}; local function readString() read("\""); -- skip quote local slash = nil; @@ -95,6 +95,12 @@ local function readNumber() while isNumeric(peek()) do num[#num+1] = read(); end + if peek() == "." then + num[#num+1] = read(); + while isNumeric(peek()) do + num[#num+1] = read(); + end + end return tonumber(t_concat(num)); end local readItem = nil;