if (! newcoll) {
if (PL_collation_name) {
- ++PL_collation_ix;
+ PL_collation_ix++;
Safefree(PL_collation_name);
PL_collation_name = NULL;
}
}
if (! PL_collation_name || strNE(PL_collation_name, newcoll)) {
- ++PL_collation_ix;
- Safefree(PL_collation_name);
- PL_collation_name = stdize_locale(savepv(newcoll));
+ PL_collation_ix++;
+ if (PL_collation_name)
+ Safefree(PL_collation_name);
+ PL_collation_name = stdize_locale(newcoll);
PL_collation_standard = (strEQ(newcoll, "C") || strEQ(newcoll, "POSIX"));
{
}
if (! PL_numeric_name || strNE(PL_numeric_name, newnum)) {
- Safefree(PL_numeric_name);
- PL_numeric_name = stdize_locale(savepv(newnum));
+ if (PL_numeric_name)
+ Safefree(PL_numeric_name);
+ PL_numeric_name = stdize_locale(newnum);
PL_numeric_standard = (strEQ(newnum, "C") || strEQ(newnum, "POSIX"));
PL_numeric_local = TRUE;
set_numeric_radix();