PATCH: [perl #134014] lib/locale.t panic on *bsd
authorKarl Williamson <khw@cpan.org>
Wed, 24 Apr 2019 21:46:38 +0000 (15:46 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 25 Apr 2019 15:01:03 +0000 (09:01 -0600)
This was due to a faulty logic in an assertion, corrected here.

perl.h

diff --git a/perl.h b/perl.h
index dff4b52..ce40030 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -6420,8 +6420,8 @@ expression, but with an empty argument list, like this:
 #  define STORE_LC_NUMERIC_SET_TO_NEEDED()                                  \
         STMT_START {                                                        \
             LC_NUMERIC_LOCK(                                                \
-                          (IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_UNDERLYING) \
-                      || _NOT_IN_NUMERIC_STANDARD);                         \
+                    (   (  IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_UNDERLYING) \
+                     || (! IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_STANDARD)));\
             if (IN_LC(LC_NUMERIC)) {                                        \
                 if (_NOT_IN_NUMERIC_UNDERLYING) {                           \
                     Perl_set_numeric_underlying(aTHX);                      \