aboutsummaryrefslogtreecommitdiffstats
path: root/epan/wslua/wslua_tree.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2010-01-01 18:49:38 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2010-01-01 18:49:38 +0000
commite472e2cca9c541b02b401bd8b215b7a3946e54fa (patch)
tree332c689b0dfc4cc5666c4e6fa309782065aa0a73 /epan/wslua/wslua_tree.c
parentc0d270e5f0d8a2ff1da1cdb7fff6bba9f0b04ed7 (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.c5
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);
}