X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=tools%2Ferlparse.lua;h=174585d338433d3c9db14a4f722ed4c029e41c68;hb=b2d412effa52846c3ea515f302f7e7298703e00a;hp=dc3a2f94e6d44c3d03fa20d09dc57c94bec31d69;hpb=1f2b53f45c0a662ad5440d745f78dc050fd0c3a8;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;