mirror of https://github.com/swig/swig.git
23 lines
725 B
Lua
23 lines
725 B
Lua
local v=require("li_cdata_bytes")
|
|
|
|
local m = v.predefStr()
|
|
local s = v.cdata(m, 0x200)
|
|
for i=0,0xff do
|
|
assert(string.byte(s, i + 1) == i,
|
|
"value " .. s:byte(i + 1) .. " should be " .. i .. " at index " .. i)
|
|
assert(string.byte(s, i + 0x101) == i,
|
|
"value " .. s:byte(i + 0x101) .. " should be " .. i .. " at index " .. i)
|
|
end
|
|
local s2=''
|
|
for i=1,0x100 do
|
|
-- use string.char rather than string.format("%c", ...), as the latter yields an
|
|
-- empty string for a NUL byte in Lua 5.1 (it applies strlen() to the formatted result)
|
|
local d = string.char(0x100 - i)
|
|
s2 = s2 .. d
|
|
end
|
|
s = s2 .. s2
|
|
local m2 = v.malloc(0x200)
|
|
v.memmove(m2, s)
|
|
assert(v.verifyBytes(m2) == 0, "verifyBytes fails")
|
|
v.free(m2)
|