增加sql的waf功能
This commit is contained in:
40
resty/string.lua
Normal file
40
resty/string.lua
Normal file
@@ -0,0 +1,40 @@
|
||||
-- Copyright (C) by Yichun Zhang (agentzh)
|
||||
|
||||
|
||||
local ffi = require "ffi"
|
||||
local ffi_new = ffi.new
|
||||
local ffi_str = ffi.string
|
||||
local C = ffi.C
|
||||
--local setmetatable = setmetatable
|
||||
--local error = error
|
||||
local tonumber = tonumber
|
||||
|
||||
|
||||
local _M = { _VERSION = '0.14' }
|
||||
|
||||
|
||||
ffi.cdef[[
|
||||
typedef unsigned char u_char;
|
||||
|
||||
u_char * ngx_hex_dump(u_char *dst, const u_char *src, size_t len);
|
||||
|
||||
intptr_t ngx_atoi(const unsigned char *line, size_t n);
|
||||
]]
|
||||
|
||||
local str_type = ffi.typeof("uint8_t[?]")
|
||||
|
||||
|
||||
function _M.to_hex(s)
|
||||
local len = #s
|
||||
local buf_len = len * 2
|
||||
local buf = ffi_new(str_type, buf_len)
|
||||
C.ngx_hex_dump(buf, s, len)
|
||||
return ffi_str(buf, buf_len)
|
||||
end
|
||||
|
||||
function _M.atoi(s)
|
||||
return tonumber(C.ngx_atoi(s, #s))
|
||||
end
|
||||
|
||||
|
||||
return _M
|
||||
Reference in New Issue
Block a user