summaryrefslogtreecommitdiff
path: root/epan/wslua/wslua_tree.c
diff options
context:
space:
mode:
authorHadriel Kaplan <hadrielk@yahoo.com>2015-01-25 14:30:13 -0500
committerHadriel Kaplan <hadrielk@yahoo.com>2015-01-27 15:14:12 +0000
commitceb8d954d25211d5cb4766ece277c15aa53578d5 (patch)
tree859ad1b08e44c140728311e9ed60fd3444cd2054 /epan/wslua/wslua_tree.c
parent9bbc33730622e117d9edfa3f393da883624510f1 (diff)
downloadwireshark-ceb8d954d25211d5cb4766ece277c15aa53578d5.tar.gz
Lua: Expose tcp_dissect_pdus() to Lua
Provide a way for Lua-based dissectors to invoke tcp_dissect_pdus() to make TCP-based dissection easier. Bug: 9851 Change-Id: I91630ebf1f1fc1964118b6750cc34238e18a8ad3 Reviewed-on: https://code.wireshark.org/review/6778 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
Diffstat (limited to 'epan/wslua/wslua_tree.c')
-rw-r--r--epan/wslua/wslua_tree.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/epan/wslua/wslua_tree.c b/epan/wslua/wslua_tree.c
index 6a90d41b9e..bd0bb14e14 100644
--- a/epan/wslua/wslua_tree.c
+++ b/epan/wslua/wslua_tree.c
@@ -44,6 +44,16 @@ TreeItem* push_TreeItem(lua_State*L, TreeItem t) {
return pushTreeItem(L,t);
}
+TreeItem create_TreeItem(proto_tree* tree, proto_item* item)
+{
+ TreeItem tree_item = (TreeItem)g_malloc(sizeof(struct _wslua_treeitem));
+ tree_item->tree = tree;
+ tree_item->item = item;
+ tree_item->expired = FALSE;
+
+ return tree_item;
+}
+
CLEAR_OUTSTANDING(TreeItem, expired, TRUE)
WSLUA_CLASS_DEFINE(TreeItem,FAIL_ON_NULL_OR_EXPIRED("TreeItem"),NOP);
@@ -254,10 +264,7 @@ WSLUA_METHOD TreeItem_add_packet_field(lua_State *L) {
nargs--;
}
- tree_item = (TreeItem)g_malloc(sizeof(struct _wslua_treeitem));
- tree_item->item = item;
- tree_item->tree = proto_item_add_subtree(item,ett > 0 ? ett : wslua_ett);
- tree_item->expired = FALSE;
+ tree_item = create_TreeItem(proto_item_add_subtree(item,ett > 0 ? ett : wslua_ett), item);
PUSH_TREEITEM(L,tree_item);
@@ -414,10 +421,7 @@ static int TreeItem_add_item_any(lua_State *L, gboolean little_endian) {
lua_remove(L,1);
}
- tree_item = (TreeItem)g_malloc(sizeof(struct _wslua_treeitem));
- tree_item->item = item;
- tree_item->tree = proto_item_add_subtree(item,ett > 0 ? ett : wslua_ett);
- tree_item->expired = FALSE;
+ tree_item = create_TreeItem(proto_item_add_subtree(item,ett > 0 ? ett : wslua_ett), item);
PUSH_TREEITEM(L,tree_item);