summaryrefslogtreecommitdiff
path: root/source4/build/pidl/util.pm
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-21 13:14:17 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-21 13:14:17 +0000
commita465add90f3291f022104600c6221e8d90287e64 (patch)
tree155a7f43e7a50027be5d9144755bf134ee585810 /source4/build/pidl/util.pm
parent82d6f5587b6052a226f90a82314573fb348fb0ce (diff)
downloadsamba-a465add90f3291f022104600c6221e8d90287e64.tar.gz
samba-a465add90f3291f022104600c6221e8d90287e64.tar.bz2
samba-a465add90f3291f022104600c6221e8d90287e64.zip
* changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser, and these can be used to control the string types. I have provided some common IDL string types in librpc/idl/idl_types.h which needs to be included in every IDL file. * added IDL for the endpoint mapper. Added a test suite that enumerates all endpoints on the server. (This used to be commit d2665f36a75b482ff82733f72ffac938c2acf87a)
Diffstat (limited to 'source4/build/pidl/util.pm')
-rw-r--r--source4/build/pidl/util.pm16
1 files changed, 8 insertions, 8 deletions
diff --git a/source4/build/pidl/util.pm b/source4/build/pidl/util.pm
index 566253699d..2f94d80012 100644
--- a/source4/build/pidl/util.pm
+++ b/source4/build/pidl/util.pm
@@ -149,7 +149,7 @@ sub has_property($$)
my($p) = shift;
if (!defined $e->{PROPERTIES}) {
- return;
+ return undef;
}
my($props) = $e->{PROPERTIES};
@@ -168,7 +168,7 @@ sub has_property($$)
}
}
- return undef;
+ return undef;
}
@@ -222,8 +222,6 @@ sub is_builtin_type($)
my($type) = shift;
return 1, if (is_scalar_type($type));
- return 1, if ($type =~ "unistr.*");
- return 1, if ($type =~ "ascstr.*");
return 0;
}
@@ -304,6 +302,11 @@ sub need_alloc($)
sub c_push_prefix($)
{
my $e = shift;
+
+ if ($e->{TYPE} =~ "string") {
+ return "";
+ }
+
if (is_scalar_type($e->{TYPE}) &&
$e->{POINTERS}) {
return "*";
@@ -327,10 +330,7 @@ sub c_pull_prefix($)
return "&";
}
- if ($e->{TYPE} =~ "unistr.*" ||
- $e->{TYPE} =~ "nstring.*" ||
- $e->{TYPE} =~ "ascstr.*" ||
- $e->{TYPE} =~ "lstring.*") {
+ if ($e->{TYPE} =~ "string") {
return "&";
}