在基於Lua的解剖器中,我想將tvb內容轉換爲其他tvb。代碼:bytearray:set_size(5)失敗Lua Wireshark
local strbuf = buffer(offset, strlen * 2) -- range from tvb
offset = offset + strlen * 2
local inbytes = strbuf:bytes()
local outbytes = ByteArray.new()
outbytes:set_size(strlen) -- fails; using a number instead strlen fails to
失敗消息是expected userdata, got number
。爲什麼要set_size期望用戶數據?或者,我該如何分配給定大小的ByteArray?
沒有確切知道ByteArray.set_size的期望,很難給你一個答案。如果你提供了一個鏈接來解釋「基於Lua的解析器」是什麼,或者你正在使用哪一個解析器,這將有所幫助。 – kikito
@kikito這是wireshark lua的API文檔:http://www.wireshark.org/docs/wsug_html_chunked/lua_module_Tvb.html – ron
@ron,我無法在OSX上的Wireshark 1.7.0中重現此操作(上面的代碼沒有問題)。你正在運行哪個Wireshark版本和操作系統? – 2011-09-30 23:39:32