summaryrefslogtreecommitdiff
path: root/source3/aparser/parsetree.awk
diff options
context:
space:
mode:
Diffstat (limited to 'source3/aparser/parsetree.awk')
-rw-r--r--source3/aparser/parsetree.awk12
1 files changed, 11 insertions, 1 deletions
diff --git a/source3/aparser/parsetree.awk b/source3/aparser/parsetree.awk
index bb1160b954..80587a0111 100644
--- a/source3/aparser/parsetree.awk
+++ b/source3/aparser/parsetree.awk
@@ -16,6 +16,15 @@ function start_module(name)
num_elements=0;
num_unions=0;
num_tests=0;
+ num_options=0;
+}
+
+function set_option(name, value)
+{
+ options[name] = value;
+ options[num_options, "name"] = name;
+ options[num_options, "value"] = value;
+ num_options++;
}
function parse_define(def1, def2,
@@ -31,6 +40,7 @@ function start_struct(name)
structs[current_struct, "name"]=name;
structs[current_struct, "num_elems"]=0;
structs[current_struct, "num_unions"]=0;
+ structs[current_struct, "recurse"] = options["recurse"];
}
function end_struct(name)
@@ -168,7 +178,7 @@ function add_sizeis_array(count, type, elem)
function start_function(type, fname)
{
start_struct(fname);
- add_function_param("[in,out]",".trailer", "");
+ structs[current_struct, "recurse"] = "False";
}
function end_function(LOCAL, i)