summaryrefslogtreecommitdiff
path: root/locale.c
diff options
context:
space:
mode:
Diffstat (limited to 'locale.c')
-rw-r--r--locale.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/locale.c b/locale.c
index 5893212e86..81c09ab4ec 100644
--- a/locale.c
+++ b/locale.c
@@ -231,7 +231,7 @@ Perl_new_collate(pTHX_ const char *newcoll)
const Size_t fa = strxfrm(xbuf, "a", XFRMBUFSIZE);
const Size_t fb = strxfrm(xbuf, "ab", XFRMBUFSIZE);
const SSize_t mult = fb - fa;
- if (mult < 1)
+ if (mult < 1 && !(fa == 0 && fb == 0))
Perl_croak(aTHX_ "panic: strxfrm() gets absurd - a => %"UVuf", ab => %"UVuf,
(UV) fa, (UV) fb);
PL_collxfrm_base = (fa > (Size_t)mult) ? (fa - mult) : 0;