regex: replace mbrtowc with __mbrtowc.
authorPaolo Bonzini <bonzini@gnu.org>
Fri, 9 Jan 2009 08:00:58 +0000 (09:00 +0100)
committerPaolo Bonzini <bonzini@gnu.org>
Fri, 9 Jan 2009 10:14:01 +0000 (11:14 +0100)
2009-01-09  Paolo Bonzini  <bonzini@gnu.org>

* lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
* lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
re_string_skip_chars, re_string_reconstruct): Likewise.
* lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.

ChangeLog
lib/regcomp.c
lib/regex_internal.c
lib/regex_internal.h

index 74954d5..2059b03 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       regex: merge glibc changes
+       * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
+       * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
+       re_string_skip_chars, re_string_reconstruct): Likewise.
+       * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
+
 2009-01-07  Jim Meyering  <meyering@redhat.com>
 
        poll: filter through cppi
index a3a745d..fc3cf98 100644 (file)
@@ -1,5 +1,6 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc.
+   Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -333,8 +334,8 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
                     && dfa->nodes[node].mb_partial)
                *p++ = dfa->nodes[node].opr.c;
              memset (&state, '\0', sizeof (state));
-             if (mbrtowc (&wc, (const char *) buf, p - buf,
-                          &state) == p - buf
+             if (__mbrtowc (&wc, (const char *) buf, p - buf,
+                            &state) == p - buf
                  && (__wcrtomb ((char *) buf, towlower (wc), &state)
                      != (size_t) -1))
                re_set_fastmap (fastmap, false, buf[0]);
index 977b15a..904b88e 100644 (file)
@@ -1,6 +1,6 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
-   Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -236,7 +236,7 @@ build_wcs_buffer (re_string_t *pstr)
        }
       else
        p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
-      mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state);
+      mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
       if (BE (mbclen == (size_t) -2, 0))
        {
          /* The buffer doesn't have enough space, finish to build.  */
@@ -306,9 +306,9 @@ build_wcs_upper_buffer (re_string_t *pstr)
 
          remain_len = end_idx - byte_idx;
          prev_st = pstr->cur_state;
-         mbclen = mbrtowc (&wc,
-                           ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
-                            + byte_idx), remain_len, &pstr->cur_state);
+         mbclen = __mbrtowc (&wc,
+                             ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
+                              + byte_idx), remain_len, &pstr->cur_state);
          if (BE (mbclen < (size_t) -2, 1))
            {
              wchar_t wcu = wc;
@@ -376,7 +376,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
          }
        else
          p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx;
-       mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state);
+       mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
        if (BE (mbclen < (size_t) -2, 1))
          {
            wchar_t wcu = wc;
@@ -499,8 +499,8 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
       Idx remain_len;
       remain_len = pstr->len - rawbuf_idx;
       prev_st = pstr->cur_state;
-      mbclen = mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
-                       remain_len, &pstr->cur_state);
+      mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
+                         remain_len, &pstr->cur_state);
       if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0))
        {
          /* We treat these cases as a single byte character.  */
@@ -745,8 +745,8 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                          /* XXX Don't use mbrtowc, we know which conversion
                             to use (UTF-8 -> UCS4).  */
                          memset (&cur_state, 0, sizeof (cur_state));
-                         mbclen = mbrtowc (&wc2, (const char *) p, mlen,
-                                           &cur_state);
+                         mbclen = __mbrtowc (&wc2, (const char *) p, mlen,
+                                             &cur_state);
                          if (raw + offset - p <= mbclen
                              && mbclen < (size_t) -2)
                            {
index 47b9e13..d3d58e8 100644 (file)
@@ -1,5 +1,6 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
 # define __iswctype iswctype
 # define __btowc btowc
 # define __wcrtomb wcrtomb
+# define __mbrtowc mbrtowc
 # define __regfree regfree
 # define attribute_hidden
 #endif /* not _LIBC */