summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-03-06 12:33:44 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:10:58 -0500
commit348fa3f9f663fc83ee8d9442366a3b36a82a2724 (patch)
treef0691e2269d4c8eb8b26be1f0375949f2210b8d7 /source4/build/pidl
parent42031bc4be2516872ccf832b6b09d141cb13c76b (diff)
downloadsamba-348fa3f9f663fc83ee8d9442366a3b36a82a2724.tar.gz
samba-348fa3f9f663fc83ee8d9442366a3b36a82a2724.tar.bz2
samba-348fa3f9f663fc83ee8d9442366a3b36a82a2724.zip
r5669: Couple of minor clearifications, simplifications.
(This used to be commit 09a9222b600d58271f42ee0870e0c933d2e105d0)
Diffstat (limited to 'source4/build/pidl')
-rw-r--r--source4/build/pidl/README6
-rw-r--r--source4/build/pidl/ndr_client.pm (renamed from source4/build/pidl/client.pm)2
-rw-r--r--source4/build/pidl/ndr_header.pm11
-rwxr-xr-xsource4/build/pidl/pidl.pl8
4 files changed, 12 insertions, 15 deletions
diff --git a/source4/build/pidl/README b/source4/build/pidl/README
index 4b675ce210..e087888840 100644
--- a/source4/build/pidl/README
+++ b/source4/build/pidl/README
@@ -18,12 +18,12 @@ dump.pm - Converts the parse tree back to an IDL file
validator.pm - Validates the parse tree
-- DCE/RPC+NDR --
-client.pm - Generates client call functions in C
+ndr_client.pm - Generates client call functions in C using the NDR parser
eparser.pm - Generates a parser for the ethereal network sniffer by
applying regexes to the output of parser.pm
swig.pm - Generates SWIG interface files (.i)
-header.pm - Generates a header file with structures
-parser.pm - Generates pull/push functions for parsing
+ndr_header.pm - Generates a header file with structures
+ndr.pm - Generates pull/push functions for parsing NDR
server.pm - Generates server side implementation in C
template.pm - Generates stubs in C for server implementation
diff --git a/source4/build/pidl/client.pm b/source4/build/pidl/ndr_client.pm
index 1be895208f..e5d4cc1569 100644
--- a/source4/build/pidl/client.pm
+++ b/source4/build/pidl/ndr_client.pm
@@ -3,7 +3,7 @@
# Copyright tridge@samba.org 2003
# released under the GNU GPL
-package IdlClient;
+package NdrClient;
use strict;
diff --git a/source4/build/pidl/ndr_header.pm b/source4/build/pidl/ndr_header.pm
index c928ee1db3..3e673466e0 100644
--- a/source4/build/pidl/ndr_header.pm
+++ b/source4/build/pidl/ndr_header.pm
@@ -61,15 +61,12 @@ sub HeaderElement($)
HeaderType($element, $element->{TYPE}, "");
pidl " ";
if ($element->{POINTERS} && $element->{TYPE} ne "string") {
- my($n) = $element->{POINTERS};
- for (my($i)=$n; $i > 0; $i--) {
+ for (my($i)=$element->{POINTERS}; $i > 0; $i--) {
pidl "*";
}
- }
- if (defined $element->{ARRAY_LEN} &&
- !util::is_constant($element->{ARRAY_LEN}) &&
- !$element->{POINTERS}) {
- # conformant arrays are ugly! I choose to implement them with
+ } elsif (NdrParser::is_surrounding_array($element) ||
+ defined $element->{ARRAY_LEN} && !util::is_constant($element->{ARRAY_LEN})) {
+ # surrounding arrays are ugly! I choose to implement them with
# pointers instead of the [1] method
pidl "*";
}
diff --git a/source4/build/pidl/pidl.pl b/source4/build/pidl/pidl.pl
index f7b213dcb0..6bbb2ec78c 100755
--- a/source4/build/pidl/pidl.pl
+++ b/source4/build/pidl/pidl.pl
@@ -15,10 +15,10 @@ use Getopt::Long;
use File::Basename;
use idl;
use dump;
+use ndr_client;
use ndr_header;
use ndr;
use server;
-use client;
use dcom_proxy;
use dcom_stub;
use com_header;
@@ -75,9 +75,9 @@ sub ShowHelp()
--output OUTNAME put output in OUTNAME.*
--parse parse a idl file to a .pidl file
--dump dump a pidl file back to idl
- --header create a C header file
+ --header create a C NDR header file
--parser create a C NDR parser
- --client create a C client
+ --client create a C NDR client
--server create server boilerplate
--template print a template for a pipe
--eparser create an ethereal parser
@@ -213,7 +213,7 @@ sub process_file($)
$res .= "#include \"$h_filename\"\n\n";
foreach my $x (@{$pidl}) {
- $res .= IdlClient::ParseInterface($x);
+ $res .= NdrClient::ParseInterface($x);
}
util::FileSave($client, $res);