diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-05-30 00:19:58 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:14 -0500 |
commit | 89a17e60a14783e8560d3babc8a9a328adc3c94c (patch) | |
tree | 7aaa93cd78bb26f76618eab8cf79a04e1fc28633 /source4/build/pidl/eth_parser.pm | |
parent | 4f1a5b716972bc2af916a528399c9dc0c2f18c35 (diff) | |
download | samba-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.pm | 10 |
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")) { |