summaryrefslogtreecommitdiff
path: root/source4/pidl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/pidl')
-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"));