This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
sv.h: sv_collxfrm didn't work properly
authorKarl Williamson <khw@cpan.org>
Tue, 22 Sep 2020 14:47:52 +0000 (08:47 -0600)
committerKarl Williamson <khw@cpan.org>
Tue, 29 Sep 2020 04:55:11 +0000 (22:55 -0600)
It is supposed to be a wrapper for sv_collxfrm_flags, but it was just
calling sv_cmp_flags instead.  The consequences are none except under
'use locale' in which case you always got the C locale.  I did not add
tests, because it is really a pain to write portable locale tests, and
this doesn't seem to be much used.  In core the '_flags' form was always
used.

sv.h

diff --git a/sv.h b/sv.h
index 19ce718..44414b3 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -2045,7 +2045,7 @@ Like C<sv_catsv> but doesn't process magic.
 #define sv_eq(sv1, sv2) sv_eq_flags(sv1, sv2, SV_GMAGIC)
 #define sv_cmp(sv1, sv2) sv_cmp_flags(sv1, sv2, SV_GMAGIC)
 #define sv_cmp_locale(sv1, sv2) sv_cmp_locale_flags(sv1, sv2, SV_GMAGIC)
-#define sv_collxfrm(sv, nxp) sv_cmp_flags(sv, nxp, SV_GMAGIC)
+#define sv_collxfrm(sv, nxp) sv_collxfrm_flags(sv, nxp, SV_GMAGIC)
 #define sv_2bool(sv) sv_2bool_flags(sv, SV_GMAGIC)
 #define sv_2bool_nomg(sv) sv_2bool_flags(sv, 0)
 #define sv_insert(bigstr, offset, len, little, littlelen)              \