This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
concat interacts badly with magic
[perl5.git] / locale.c
index 77a83fd..e7572cf 100644 (file)
--- a/locale.c
+++ b/locale.c
@@ -53,7 +53,7 @@
 STATIC char *
 S_stdize_locale(pTHX_ char *locs)
 {
-    const char *s = strchr(locs, '=');
+    const char * const s = strchr(locs, '=');
     bool okay = TRUE;
 
     if (s) {
@@ -82,9 +82,8 @@ Perl_set_numeric_radix(pTHX)
 {
 #ifdef USE_LOCALE_NUMERIC
 # ifdef HAS_LOCALECONV
-    struct lconv* lc;
+    const struct lconv* const lc = localeconv();
 
-    lc = localeconv();
     if (lc && lc->decimal_point) {
        if (lc->decimal_point[0] == '.' && lc->decimal_point[1] == 0) {
            SvREFCNT_dec(PL_numeric_radix_sv);
@@ -112,10 +111,8 @@ Perl_new_numeric(pTHX_ const char *newnum)
 #ifdef USE_LOCALE_NUMERIC
 
     if (! newnum) {
-       if (PL_numeric_name) {
-           Safefree(PL_numeric_name);
-           PL_numeric_name = NULL;
-       }
+       Safefree(PL_numeric_name);
+       PL_numeric_name = NULL;
        PL_numeric_standard = TRUE;
        PL_numeric_local = TRUE;
        return;
@@ -256,10 +253,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
     char *curnum     = NULL;
 #endif /* USE_LOCALE_NUMERIC */
 #ifdef __GLIBC__
-    char *language   = PerlEnv_getenv("LANGUAGE");
+    char * const language   = PerlEnv_getenv("LANGUAGE");
 #endif
-    char *lc_all     = PerlEnv_getenv("LC_ALL");
-    char *lang       = PerlEnv_getenv("LANG");
+    char * const lc_all     = PerlEnv_getenv("LC_ALL");
+    char * const lang       = PerlEnv_getenv("LANG");
     bool setlocale_failure = FALSE;
 
 #ifdef LOCALE_ENVIRON_REQUIRED
@@ -534,27 +531,17 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 #endif
 
 #ifdef USE_LOCALE_CTYPE
-    if (curctype != NULL)
-       Safefree(curctype);
+    Safefree(curctype);
 #endif /* USE_LOCALE_CTYPE */
 #ifdef USE_LOCALE_COLLATE
-    if (curcoll != NULL)
-       Safefree(curcoll);
+    Safefree(curcoll);
 #endif /* USE_LOCALE_COLLATE */
 #ifdef USE_LOCALE_NUMERIC
-    if (curnum != NULL)
-       Safefree(curnum);
+    Safefree(curnum);
 #endif /* USE_LOCALE_NUMERIC */
     return ok;
 }
 
-/* Backwards compatibility. */
-int
-Perl_init_i18nl14n(pTHX_ int printwarn)
-{
-    return init_i18nl10n(printwarn);
-}
-
 #ifdef USE_LOCALE_COLLATE
 
 /*
@@ -575,7 +562,7 @@ Perl_mem_collxfrm(pTHX_ const char *s, STRLEN len, STRLEN *xlen)
     /* the +1 is for the terminating NUL. */
 
     xAlloc = sizeof(PL_collation_ix) + PL_collxfrm_base + (PL_collxfrm_mult * len) + 1;
-    New(171, xbuf, xAlloc, char);
+    Newx(xbuf, xAlloc, char);
     if (! xbuf)
        goto bad;