Fix regex wcrtomb namespace (bug 18496).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 5 Jun 2015 21:31:39 +0000 (21:31 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 5 Jun 2015 21:31:39 +0000 (21:31 +0000)
The regex code brings in references to wcrtomb, which isn't in all the
standards that contain regex.  This patch makes it call __wcrtomb
instead (in fact some places already called __wcrtomb, so this patch
makes it internally consistent about which name is used).

Tested for x86_64 and x86 that installed stripped shared libraries are
unchanged by the patch.

[BZ #18496]
* posix/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
instead of wcrtomb.

ChangeLog
NEWS
posix/regex_internal.c

index ec0086b..19f45eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2015-06-05  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #18496]
+       * posix/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
+       instead of wcrtomb.
+
        [BZ #18483]
        * signal/signal.h [__USE_XOPEN2K] (psignal): Change condition to
        [__USE_XOPEN2K8].  Remove redundant #endif.
diff --git a/NEWS b/NEWS
index 17fd207..3fc313c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,7 @@ Version 2.22
   18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
   18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
   18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
-  18468, 18469, 18470, 18483, 18495.
+  18468, 18469, 18470, 18483, 18495, 18496.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
index d77d3a1..8597d7e 100644 (file)
@@ -317,7 +317,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
                  size_t mbcdlen;
 
                  wcu = __towupper (wc);
-                 mbcdlen = wcrtomb (buf, wcu, &prev_st);
+                 mbcdlen = __wcrtomb (buf, wcu, &prev_st);
                  if (BE (mbclen == mbcdlen, 1))
                    memcpy (pstr->mbs + byte_idx, buf, mbclen);
                  else
@@ -387,7 +387,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
                size_t mbcdlen;
 
                wcu = __towupper (wc);
-               mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st);
+               mbcdlen = __wcrtomb ((char *) buf, wcu, &prev_st);
                if (BE (mbclen == mbcdlen, 1))
                  memcpy (pstr->mbs + byte_idx, buf, mbclen);
                else if (mbcdlen != (size_t) -1)