Rev 11610: Fix handling of is_scalar() for declares. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Wed Feb 28 00:32:39 GMT 2007


At file:///home/jelmer/bzr.samba/SAMBA_4_0/

------------------------------------------------------------
revno: 11610
revision-id: jelmer at samba.org-20070228003232-gx98ohwohqa3y0hp
parent: svn-v2:21574 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Wed 2007-02-28 01:32:32 +0100
message:
  Fix handling of is_scalar() for declares.
modified:
  source/pidl/lib/Parse/Pidl/Typelist.pm svn-v2:9460 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fpidl%2flib%2fParse%2fPidl%2fTypelist.pm
  source/pidl/tests/typelist.pl  svn-v2:21437 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fpidl%2ftests%2ftypelist.pl
=== modified file 'source/pidl/lib/Parse/Pidl/Typelist.pm'
--- a/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-02-28 00:28:14 +0000
+++ b/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-02-28 00:32:32 +0000
@@ -138,7 +138,8 @@
 	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");
 	}

=== modified file 'source/pidl/tests/typelist.pl'
--- a/source/pidl/tests/typelist.pl	2007-02-28 00:19:57 +0000
+++ b/source/pidl/tests/typelist.pl	2007-02-28 00:32:32 +0000
@@ -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(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"));



More information about the samba-cvs mailing list