1
0
mirror of https://github.com/lxsang/antd-lua-plugin synced 2024-12-27 01:48:21 +01:00

disable unescape

This commit is contained in:
lxsang 2020-06-17 23:58:11 +02:00
parent 177787d07d
commit 0d28bf935a
2 changed files with 26 additions and 15 deletions

View File

@ -49,20 +49,31 @@ function utils.decodeURI(url)
end
function utils.unescape(s)
local replacements = {
["\\\\"] = "\\" ,
['\\"'] = '"' ,
["\\n"] = "\n" ,
["\\t"] = "\t" ,
["\\b"] = "\b" ,
["\\f"] = "\f" ,
["\\r"] = "\r"
}
local out = s
for k,v in pairs(replacements) do
out = out:gsub(k,v)
local str = ""
local escape = false
local esc_map = {b = '\b', f = '\f', n = '\n', r = '\r', t = '\t'}
for c in s:gmatch"." do
if c ~= '\\' then
if escape then
if esc_map[c] then
str = str..esc_map[c]
else
str = str..c
end
return out
else
str = str..c
end
escape = false
else
if escape then
str = str..c
escape = false
else
escape = true
end
end
end
return str
end
function utils.file_exists(name)

View File

@ -113,14 +113,14 @@ static int process_token_string(lua_State* L, jsmntok_t* t, const char* s, int c
//const char* replace_token[8] = {"\\","\"","\n","\t","\b","\f","\r","/"};
char * str = strndup(s+t[cid].start, t[cid].end-t[cid].start);
// un escape the string
lua_getglobal(L, "utils");
/*lua_getglobal(L, "utils");
lua_getfield(L, -1, "unescape");
lua_pushstring(L,str);
if (lua_pcall(L, 1, 1, 0) != 0)
printf("Error running function `unescape': %s\n",lua_tostring(L, -1));
if(str) free(str);
str = (char*)luaL_checkstring(L,-1);
lua_settop(L, -3);
lua_settop(L, -3);*/
lua_pushstring(L,str);
//stackDump(L);
//lua_pushstring(L, str);