summaryrefslogtreecommitdiff
path: root/source4/build/pidl/eth_parser.pm
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-05-30 00:19:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:14 -0500
commit89a17e60a14783e8560d3babc8a9a328adc3c94c (patch)
tree7aaa93cd78bb26f76618eab8cf79a04e1fc28633 /source4/build/pidl/eth_parser.pm
parent4f1a5b716972bc2af916a528399c9dc0c2f18c35 (diff)
downloadsamba-89a17e60a14783e8560d3babc8a9a328adc3c94c.tar.gz
samba-89a17e60a14783e8560d3babc8a9a328adc3c94c.tar.bz2
samba-89a17e60a14783e8560d3babc8a9a328adc3c94c.zip
r7084: - readd the work from rev 6516,6517,6572
- use a single list of scalars - let "string" not be so special anymore - fix support for "string_array" metze (This used to be commit e1fa7ae6c8420dc582578e084b9c0d641bcfbd73)
Diffstat (limited to 'source4/build/pidl/eth_parser.pm')
-rw-r--r--source4/build/pidl/eth_parser.pm10
1 files changed, 4 insertions, 6 deletions
diff --git a/source4/build/pidl/eth_parser.pm b/source4/build/pidl/eth_parser.pm
index 43ed8b841a..a285dacf23 100644
--- a/source4/build/pidl/eth_parser.pm
+++ b/source4/build/pidl/eth_parser.pm
@@ -213,8 +213,7 @@ sub append_prefix($$)
return get_value_of($var_name)
}
} elsif ($l->{TYPE} eq "DATA") {
- if ($l->{DATA_TYPE} eq "string" or
- $l->{DATA_TYPE} eq "nbt_string") {
+ if (typelist::scalar_is_reference($l->{DATA_TYPE})) {
return get_value_of($var_name) unless ($pointers);
}
}
@@ -576,18 +575,17 @@ sub ParseData($$$$$)
my $var_name = shift;
my $ndr_flags = shift;
- $var_name = get_pointer_to($var_name);
-
#
# ALAND! for packet-dcerpc-lsa.c, uncommenting this code
# produces constructs like &(&r->string), to pass to another
# function, which gives compiler errors.
#
- if ($l->{DATA_TYPE} eq "string" or
- $l->{DATA_TYPE} eq "nbt_string") {
+ if (typelist::scalar_is_reference($l->{DATA_TYPE})) {
$var_name = get_pointer_to($var_name);
}
+ $var_name = get_pointer_to($var_name);
+
pidl "offset += dissect_$l->{DATA_TYPE}(tvb, offset, pinfo, tree, drep, hf_FIXME, NULL);";
if (my $range = util::has_property($e, "range")) {