summaryrefslogtreecommitdiff
path: root/source4/script
diff options
context:
space:
mode:
Diffstat (limited to 'source4/script')
-rwxr-xr-xsource4/script/mkproto.pl54
1 files changed, 33 insertions, 21 deletions
diff --git a/source4/script/mkproto.pl b/source4/script/mkproto.pl
index 4760e63bda..348f150e6d 100755
--- a/source4/script/mkproto.pl
+++ b/source4/script/mkproto.pl
@@ -127,28 +127,40 @@ sub print_footer($$)
sub handle_loadparm($$)
{
my ($file,$line) = @_;
-
- if ($line =~ /^FN_(GLOBAL|LOCAL)_(CONST_STRING|STRING|BOOL|bool|CHAR|INTEGER|LIST)\((\w+),.*\)/o) {
- my $scope = $1;
- my $type = $2;
- my $name = $3;
-
- my %tmap = (
- "BOOL" => "bool ",
- "CONST_STRING" => "const char *",
- "STRING" => "const char *",
- "INTEGER" => "int ",
- "CHAR" => "char ",
- "LIST" => "const char **",
- );
-
- my %smap = (
- "GLOBAL" => "struct loadparm_context *",
- "LOCAL" => "struct loadparm_service *, struct loadparm_service *"
- );
-
- $file->("$tmap{$type}lpcfg_$name($smap{$scope});\n");
+ my $scope;
+ my $type;
+ my $name;
+ my $var;
+
+ if ($line =~ /^FN_(GLOBAL|LOCAL)_(CONST_STRING|STRING|BOOL|bool|CHAR|INTEGER|LIST)\((\w+),(.*)\)/o) {
+ $scope = $1;
+ $type = $2;
+ $name = $3;
+ $var = $4;
+ } elsif ($line =~ /^FN_(GLOBAL|LOCAL)_PARM_(CONST_STRING|STRING|BOOL|bool|CHAR|INTEGER|LIST)\((\w+),(.*)\)/o) {
+ $scope = $1;
+ $type = $2;
+ $name = $3;
+ $var = $4;
+ } else {
+ return;
}
+
+ my %tmap = (
+ "BOOL" => "bool ",
+ "CONST_STRING" => "const char *",
+ "STRING" => "const char *",
+ "INTEGER" => "int ",
+ "CHAR" => "char ",
+ "LIST" => "const char **",
+ );
+
+ my %smap = (
+ "GLOBAL" => "struct loadparm_context *",
+ "LOCAL" => "struct loadparm_service *, struct loadparm_service *"
+ );
+
+ $file->("$tmap{$type}lpcfg_$name($smap{$scope});\n");
}
sub process_file($$$)