This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Use sv_setpvn where we know the length.
[perl5.git] / locale.c
index 526a568..77a83fd 100644 (file)
--- a/locale.c
+++ b/locale.c
 STATIC char *
 S_stdize_locale(pTHX_ char *locs)
 {
-    char *s;
+    const char *s = strchr(locs, '=');
     bool okay = TRUE;
 
-    if ((s = strchr(locs, '='))) {
-       char *t;
-
+    if (s) {
+       const char * const t = strchr(s, '.');
        okay = FALSE;
-       if ((t = strchr(s, '.'))) {
-           char *u;
-
-           if ((u = strchr(t, '\n'))) {
-
-               if (u[1] == 0) {
-                   STRLEN len = u - s;
-                   Move(s + 1, locs, len, char);
-                   locs[len] = 0;
-                   okay = TRUE;
-               }
+       if (t) {
+           const char * const u = strchr(t, '\n');
+           if (u && (u[1] == 0)) {
+               const STRLEN len = u - s;
+               Move(s + 1, locs, len, char);
+               locs[len] = 0;
+               okay = TRUE;
            }
        }
     }
@@ -112,7 +107,7 @@ Perl_set_numeric_radix(pTHX)
  * Set up for a new numeric locale.
  */
 void
-Perl_new_numeric(pTHX_ char *newnum)
+Perl_new_numeric(pTHX_ const char *newnum)
 {
 #ifdef USE_LOCALE_NUMERIC
 
@@ -172,7 +167,7 @@ Perl_set_numeric_local(pTHX)
  * Set up for a new ctype locale.
  */
 void
-Perl_new_ctype(pTHX_ char *newctype)
+Perl_new_ctype(pTHX_ const char *newctype)
 {
 #ifdef USE_LOCALE_CTYPE
     dVAR;
@@ -188,14 +183,14 @@ Perl_new_ctype(pTHX_ char *newctype)
     }
 
 #endif /* USE_LOCALE_CTYPE */
-    (void)newctype;
+    PERL_UNUSED_ARG(newctype);
 }
 
 /*
  * Set up for a new collation locale.
  */
 void
-Perl_new_collate(pTHX_ char *newcoll)
+Perl_new_collate(pTHX_ const char *newcoll)
 {
 #ifdef USE_LOCALE_COLLATE
 
@@ -223,9 +218,9 @@ Perl_new_collate(pTHX_ char *newcoll)
          /* 50: surely no system expands a char more. */
 #define XFRMBUFSIZE  (2 * 50)
          char xbuf[XFRMBUFSIZE];
-         Size_t fa = strxfrm(xbuf, "a",  XFRMBUFSIZE);
-         Size_t fb = strxfrm(xbuf, "ab", XFRMBUFSIZE);
-         SSize_t mult = fb - fa;
+         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)
              Perl_croak(aTHX_ "strxfrm() gets absurd");
          PL_collxfrm_base = (fa > (Size_t)mult) ? (fa - mult) : 0;
@@ -627,5 +622,5 @@ Perl_mem_collxfrm(pTHX_ const char *s, STRLEN len, STRLEN *xlen)
  * indent-tabs-mode: t
  * End:
  *
- * vim: ts=8 sts=4 sw=4 noet:
-*/
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */