用于float变量的lua dissector返回零

时间:2017-08-24 12:43:08

标签: lua wireshark-dissector

我正在尝试从缓冲区读取一个浮点变量,但我得到一个零值。 这是我使用的代码:

-- Create fields

str_format=string.format
p_Genie.fields = {}
local fields = p_Genie.fields
fields.number_field = ProtoField.float("p_Genie.number", "Number",base.DEC)

function addFloat32(tree, buf, start, name, floatSize)
    local rang = buf(start, floatSize)

    local ti = tree:add_le(fields.number_field, rang)
    ti:set_text(str_format("%s %f", name, rang:le_float())) 
    return floatSize
end

我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:0)

我不认为你对ProtoField.float的使用是正确的。根据{{​​3}},第三个参数是可选的valuestring,而不是base。也许从修复它开始,看看它是否能解决你的问题。