diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2010-01-01 18:49:38 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2010-01-01 18:49:38 +0000 |
commit | e472e2cca9c541b02b401bd8b215b7a3946e54fa (patch) | |
tree | 332c689b0dfc4cc5666c4e6fa309782065aa0a73 /epan/wslua/wslua_tree.c | |
parent | c0d270e5f0d8a2ff1da1cdb7fff6bba9f0b04ed7 (diff) |
Use correct length for FT_STRINGZ when adding the item to the tree.
svn path=/trunk/; revision=31401
Diffstat (limited to 'epan/wslua/wslua_tree.c')
-rw-r--r-- | epan/wslua/wslua_tree.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/wslua/wslua_tree.c b/epan/wslua/wslua_tree.c index 9ec719ecfa..e0811391b4 100644 --- a/epan/wslua/wslua_tree.c +++ b/epan/wslua/wslua_tree.c @@ -120,8 +120,10 @@ static int TreeItem_add_item_any(lua_State *L, gboolean little_endian) { item = proto_tree_add_double(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,(double)luaL_checknumber(L,1)); break; case FT_STRING: - case FT_STRINGZ: item = proto_tree_add_string(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,luaL_checkstring(L,1)); + break; + case FT_STRINGZ: + item = proto_tree_add_string(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvb_strsize (tvbr->tvb->ws_tvb, tvbr->offset),luaL_checkstring(L,1)); break; case FT_BYTES: item = proto_tree_add_bytes(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len, (const guint8*) luaL_checkstring(L,1)); @@ -149,6 +151,7 @@ static int TreeItem_add_item_any(lua_State *L, gboolean little_endian) { lua_remove(L,1); } else { + if (type == FT_STRINGZ) tvbr->len = tvb_strsize (tvbr->tvb->ws_tvb, tvbr->offset); item = proto_tree_add_item(tree_item->tree, hfid, tvbr->tvb->ws_tvb, tvbr->offset, tvbr->len, little_endian); } |