# include <langinfo.h>
#endif
+#include "reentr.h"
+
/*
* Standardize the locale name from a string returned by 'setlocale'.
*
SSize_t mult = fb - fa;
if (mult < 1)
Perl_croak(aTHX_ "strxfrm() gets absurd");
- PL_collxfrm_base = (fa > mult) ? (fa - mult) : 0;
+ PL_collxfrm_base = (fa > (Size_t)mult) ? (fa - mult) : 0;
PL_collxfrm_mult = mult;
}
}
(ibcmp(codeset, "UTF-8", 5) == 0 ||
ibcmp(codeset, "UTF8", 4) == 0))
wantutf8 = TRUE;
+#if defined(USE_LOCALE)
#ifdef __GLIBC__
if (!wantutf8 && language &&
(ibcmp(language, "UTF-8", 5) == 0 ||
(ibcmp(lang, "UTF-8", 5) == 0 ||
ibcmp(lang, "UTF8", 4) == 0))
wantutf8 = TRUE;
+#endif /* USE_LOCALE */
if (wantutf8)
PL_wantutf8 = TRUE;
}
xused = strxfrm(xbuf + xout, s + xin, xAlloc - xout);
if (xused == -1)
goto bad;
- if (xused < xAlloc - xout)
+ if ((STRLEN)xused < xAlloc - xout)
break;
xAlloc = (2 * xAlloc) + 1;
Renew(xbuf, xAlloc, char);