summaryrefslogtreecommitdiff
path: root/source4/build/pidl/idl.yp
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-05-27 14:01:22 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:07 -0500
commitaba7014e41b120e8c4bac5d5dab91655b46a2175 (patch)
tree0475f32f8cd5ee498f9863ac1687864048fbd0a7 /source4/build/pidl/idl.yp
parent49791818610cecd877eb5b865cb6cefa90e92ba0 (diff)
downloadsamba-aba7014e41b120e8c4bac5d5dab91655b46a2175.tar.gz
samba-aba7014e41b120e8c4bac5d5dab91655b46a2175.tar.bz2
samba-aba7014e41b120e8c4bac5d5dab91655b46a2175.zip
r7022: Add support for parsing definitions of multi-dimension arrays.
This will also be required for supporting parsing pointers to arrays and arrays of pointers simultaneously. (This used to be commit a34f848b02a6e8284d62532a792a5136e846fe8f)
Diffstat (limited to 'source4/build/pidl/idl.yp')
-rw-r--r--source4/build/pidl/idl.yp7
1 files changed, 4 insertions, 3 deletions
diff --git a/source4/build/pidl/idl.yp b/source4/build/pidl/idl.yp
index d58dc9d023..f81316cd9f 100644
--- a/source4/build/pidl/idl.yp
+++ b/source4/build/pidl/idl.yp
@@ -183,6 +183,7 @@ empty_element: property_list ';'
"TYPE" => "EMPTY",
"PROPERTIES" => $_[1],
"POINTERS" => 0,
+ "ARRAY_LEN" => [],
"FILE" => $_[0]->YYData->{INPUT_FILENAME},
"LINE" => $_[0]->YYData->{LINE},
}}
@@ -238,9 +239,9 @@ element_list2:
;
array_len:
- #empty
- | '[' ']' { "*" }
- | '[' anytext ']' { "$_[2]" }
+ #empty { [] }
+ | '[' ']' array_len { push(@{$_[3]}, "*"); $_[3] }
+ | '[' anytext ']' array_len { push(@{$_[4]}, "$_[2]"); $_[4] }
;