summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-01-05 14:25:21 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:36:51 -0500
commit306dc32687e68dbf388187ec927444fb4a139158 (patch)
treedc83703cc75e6bb3ec6169cd759078088edb8895
parent362d4b14aecb32aac5c7c4f6beb3b9a979bf9d5a (diff)
downloadsamba-306dc32687e68dbf388187ec927444fb4a139158.tar.gz
samba-306dc32687e68dbf388187ec927444fb4a139158.tar.bz2
samba-306dc32687e68dbf388187ec927444fb4a139158.zip
r20545: Fix is_constant().
(This used to be commit ae9b0895e8b7fd98335ece82aae3e391b94d2ec9)
-rw-r--r--source4/pidl/lib/Parse/Pidl/Util.pm5
-rwxr-xr-xsource4/pidl/tests/util.pl6
2 files changed, 7 insertions, 4 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Util.pm b/source4/pidl/lib/Parse/Pidl/Util.pm
index f1a97693a7..064862b7c5 100644
--- a/source4/pidl/lib/Parse/Pidl/Util.pm
+++ b/source4/pidl/lib/Parse/Pidl/Util.pm
@@ -54,9 +54,8 @@ sub property_matches($$$)
sub is_constant($)
{
my $s = shift;
- if (defined $s && $s =~ /^\d$/) {
- return 1;
- }
+ return 1 if (defined $s && $s =~ /^\d+$/);
+ return 1 if (defined $s && $s =~ /^0x[0-9A-Fa-f]+$/);
return 0;
}
diff --git a/source4/pidl/tests/util.pl b/source4/pidl/tests/util.pl
index 7c51b72196..f32ab41e8d 100755
--- a/source4/pidl/tests/util.pl
+++ b/source4/pidl/tests/util.pl
@@ -3,7 +3,7 @@
# Published under the GNU General Public License
use strict;
-use Test::More tests => 25;
+use Test::More tests => 29;
use FindBin qw($RealBin);
use lib "$RealBin/../lib";
use Parse::Pidl::Util;
@@ -16,6 +16,10 @@ is(undef, has_property({PROPERTIES => {foo => undef}}, "foo"));
# is_constant()
ok(is_constant("2"));
+ok(is_constant("256"));
+ok(is_constant("0x400"));
+ok(is_constant("0x4BC"));
+ok(not is_constant("0x4BGC"));
ok(not is_constant("str"));
ok(not is_constant("2 * expr"));