diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-02-28 00:35:21 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:48:59 -0500 |
commit | 240b470f4404b6a3517312827b74f775ae85a855 (patch) | |
tree | 915cfa91ddda5b78f5e12929ac626313a09baf06 | |
parent | a635df47da4c0f8434dc51349600edf9ef0805f1 (diff) | |
download | samba-240b470f4404b6a3517312827b74f775ae85a855.tar.gz samba-240b470f4404b6a3517312827b74f775ae85a855.tar.bz2 samba-240b470f4404b6a3517312827b74f775ae85a855.zip |
r21575: Fix handling of is_scalar() for declares.
(This used to be commit f0bc29df7297f8f91175091e5f4b14f4ae4b0591)
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Typelist.pm | 3 | ||||
-rwxr-xr-x | source4/pidl/tests/typelist.pl | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Typelist.pm b/source4/pidl/lib/Parse/Pidl/Typelist.pm index 8e311554bc..e635411f3c 100644 --- a/source4/pidl/lib/Parse/Pidl/Typelist.pm +++ b/source4/pidl/lib/Parse/Pidl/Typelist.pm @@ -138,7 +138,8 @@ sub is_scalar($) return 1 if (ref($type) eq "HASH" and $type->{TYPE} eq "SCALAR"); if (my $dt = getType($type)) { - return is_scalar($dt->{DATA}) if ($dt->{TYPE} eq "TYPEDEF"); + return is_scalar($dt->{DATA}) if ($dt->{TYPE} eq "TYPEDEF" or + $dt->{TYPE} eq "DECLARE"); return 1 if ($dt->{TYPE} eq "SCALAR" or $dt->{TYPE} eq "ENUM" or $dt->{TYPE} eq "BITMAP"); } diff --git a/source4/pidl/tests/typelist.pl b/source4/pidl/tests/typelist.pl index e538cb2e0d..376bd208f0 100755 --- a/source4/pidl/tests/typelist.pl +++ b/source4/pidl/tests/typelist.pl @@ -4,7 +4,7 @@ use strict; use warnings; -use Test::More tests => 50; +use Test::More tests => 52; use FindBin qw($RealBin); use lib "$RealBin"; use Util; @@ -55,6 +55,8 @@ is(0, is_scalar("nonexistant")); is(1, is_scalar({TYPE => "ENUM"})); is(0, is_scalar({TYPE => "STRUCT"})); is(1, is_scalar({TYPE => "TYPEDEF", DATA => {TYPE => "ENUM" }})); +is(1, is_scalar("mytypedef")); +is(1, is_scalar({TYPE => "DECLARE", DATA => {TYPE => "ENUM" }})); is(1, scalar_is_reference("string")); is(0, scalar_is_reference("uint32")); |