2017-08-24 1 views
0

J'essaie de lire une variable float à partir du tampon, mais je reçois une valeur nulle. Ce code est i utilisé:Lua dissector pour une variable float renvoie zéro

-- 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 

Qu'est-ce que je fais mal? Merci.

Répondre

0

Je ne pense pas que votre utilisation de ProtoField.float soit correcte. Selon Section 11.6.7.16 of the Wireshark Developer's Guide, le 3ème argument est une chaîne de valeurs facultative, pas une base. Peut-être commencer par régler cela et voir si cela résout votre problème.