svn commit: lorikeet r165 - in trunk/ethereal/plugins/pidl: .
tpot at samba.org
tpot at samba.org
Tue Jan 4 23:18:42 GMT 2005
Author: tpot
Date: 2005-01-04 23:18:41 +0000 (Tue, 04 Jan 2005)
New Revision: 165
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=165
Log:
Revert previous commit about giving arrays of scalars their own subtree.
Generate code to display using proto_tree_add_bytes() instead.
Modified:
trunk/ethereal/plugins/pidl/eparser.c
trunk/ethereal/plugins/pidl/eparser.h
Changeset:
Modified: trunk/ethereal/plugins/pidl/eparser.c
===================================================================
--- trunk/ethereal/plugins/pidl/eparser.c 2005-01-04 21:10:01 UTC (rev 164)
+++ trunk/ethereal/plugins/pidl/eparser.c 2005-01-04 23:18:41 UTC (rev 165)
@@ -439,33 +439,42 @@
return NT_STATUS_OK;
}
-static int hf_array_uint8 = -1;
-
NTSTATUS ndr_pull_array_uint8(struct pidl_pull *ndr, int ndr_flags,
- pidl_tree *tree, uint8_t *data, uint32_t n)
+ pidl_tree *tree, int hf, uint8_t *data,
+ uint32_t n)
{
uint32_t i;
- if (!(ndr_flags & NDR_SCALARS)) {
+
+ if (!(ndr_flags & NDR_SCALARS))
return NT_STATUS_OK;
- }
- for (i = 0; i < n; i++) {
- ndr_pull_uint8(ndr, tree, hf_array_uint8, data + i);
- }
+
+ proto_tree_add_bytes(
+ tree->proto_tree, hf, ndr->tvb, ndr->offset, n,
+ tvb_get_ptr(ndr->tvb, ndr->offset, n));
+
+ ndr->offset += n;
+
return NT_STATUS_OK;
}
-static int hf_array_uint32 = -1;
-
NTSTATUS ndr_pull_array_uint32(struct pidl_pull *ndr, int ndr_flags,
- pidl_tree *tree, uint32_t *data, uint32_t n)
+ pidl_tree *tree, int hf, uint32_t *data,
+ uint32_t n)
{
+ int len = n * sizeof(uint32_t);
uint32_t i;
- if (!(ndr_flags & NDR_SCALARS)) {
+
+ if (!(ndr_flags & NDR_SCALARS))
return NT_STATUS_OK;
- }
- for (i = 0; i < n; i++) {
- ndr_pull_uint32(ndr, tree, hf_array_uint8, data + i);
- }
+
+ ndr_pull_align(ndr, sizeof(uint32_t));
+
+ proto_tree_add_bytes(
+ tree->proto_tree, hf, ndr->tvb, ndr->offset, len,
+ tvb_get_ptr(ndr->tvb, ndr->offset, len));
+
+ ndr->offset += len;
+
return NT_STATUS_OK;
}
@@ -782,8 +791,6 @@
{ &hf_array_size, { "Array size", "eparser.array_size", FT_UINT32, BASE_DEC, NULL, 0x0, "Array size", HFILL }},
{ &hf_array_length, { "Array length", "eparser.array_length", FT_UINT32, BASE_DEC, NULL, 0x0, "Array length", HFILL }},
{ &hf_array_offset, { "Array offset", "eparser.array_offset", FT_UINT32, BASE_DEC, NULL, 0x0, "Array offset", HFILL }},
- { &hf_array_uint8, { "Uint8 array value", "eparser.uint8_array", FT_UINT8, BASE_DEC, NULL, 0x0, "Uint8 array value", HFILL }},
- { &hf_array_uint32, { "Uint32 array value", "eparser.uint32_array", FT_UINT32, BASE_DEC, NULL, 0x0, "Uint32 array value", HFILL }},
{ &hf_subcontext_size16, { "Uint16 subcontext", "eparser.subcontext16", FT_UINT16, BASE_DEC, NULL, 0x0, "Uint16 subcontext", HFILL }},
{ &hf_subcontext_size32, { "Uint32 subcontext", "eparser.subcontext32", FT_UINT32, BASE_DEC, NULL, 0x0, "Uint32 subcontext", HFILL }},
{ &hf_dom_sid2_num_auths, { "dom_sid2 num auths", "eparser.num_auths", FT_UINT32, BASE_DEC, NULL, 0x0, "dom_sid2 num auths", HFILL }},
Modified: trunk/ethereal/plugins/pidl/eparser.h
===================================================================
--- trunk/ethereal/plugins/pidl/eparser.h 2005-01-04 21:10:01 UTC (rev 164)
+++ trunk/ethereal/plugins/pidl/eparser.h 2005-01-04 23:18:41 UTC (rev 165)
@@ -127,10 +127,8 @@
NTSTATUS (*pull_fn)(struct pidl_pull *, int,
pidl_tree *tree, void *));
NTSTATUS ndr_check_array_size(struct pidl_pull *ndr, void *p, uint32_t size);
-NTSTATUS ndr_pull_array_uint8(struct pidl_pull *ndr, int ndr_flags,
- pidl_tree *tree, uint8_t *data, uint32_t n);
-NTSTATUS ndr_pull_array_uint32(struct pidl_pull *ndr, int ndr_flags,
- pidl_tree *tree, uint32_t *data, uint32_t n);
+NTSTATUS ndr_pull_array_uint8(struct pidl_pull *ndr, int ndr_flags, pidl_tree *tree, int hf, uint8_t *data, uint32_t n);
+NTSTATUS ndr_pull_array_uint32(struct pidl_pull *ndr, int ndr_flags, pidl_tree *tree, int hf, uint32_t *data, uint32_t n);
NTSTATUS ndr_pull_time_t(struct pidl_pull *ndr, pidl_tree *tree, int hf,
time_t *data);
NTSTATUS ndr_pull_relative1(struct pidl_pull *ndr, const void *p, uint32_t rel_offset);
More information about the samba-cvs
mailing list