diff options
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Util.pm | 5 | ||||
-rwxr-xr-x | source4/pidl/tests/util.pl | 6 |
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")); |