]> sourceware.org Git - newlib-cygwin.git/commitdiff
* libc/stdlib/mbtowc_r.c (__ascii_mbtowc): Disallow conversion of
authorCorinna Vinschen <corinna@vinschen.de>
Sun, 10 Jan 2010 13:54:34 +0000 (13:54 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Sun, 10 Jan 2010 13:54:34 +0000 (13:54 +0000)
non-ASCII chars on Cygwin.
* libc/stdlib/wctomb_r.c (__ascii_wctomb): Ditto.

newlib/ChangeLog
newlib/libc/stdlib/mbtowc_r.c
newlib/libc/stdlib/wctomb_r.c

index 660e700baf21f0cfd00c8ed4527d09b260e14d73..78ce466c66bc5c172a9735b3fbbe6676f087e264 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-10  Corinna Vinschen  <corinna@vinschen.de>
+
+       * libc/stdlib/mbtowc_r.c (__ascii_mbtowc): Disallow conversion of
+       non-ASCII chars on Cygwin.
+       * libc/stdlib/wctomb_r.c (__ascii_wctomb): Ditto.
+
 2009-12-22  Eric Blake  <ebb9@byu.net>
 
        * libc/include/sys/unistd.h (suboptarg, getsubopt): Move...
        * libc/stdlib/atexit.c: Ditto.
        * libc/stdlib/on_exit.c: Ditto.
 
-2009-12-17  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-12-17  Ralf CorsÃ\83Â\83Ã\82©pius <ralf.corsepius@rtems.org>
 
        * libc/include/machine/ieeefp.h: Rework __IEEE_*_ENDIAN handling.
        * libc/machine/arm/machine/endian.h: Remove (Conflicts with
        libc/include/machine/endian.h)
 
-2009-12-17  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-12-17  Ralf CorsÃ\83Â\83Ã\82©pius <ralf.corsepius@rtems.org>
 
        * libc/include/machine/setjmp.h: Set up _JBLEN #ifdef __m68k__.
 
        and ETOOMANYREFS into general list as they are referenced
        by OpenGroup and needed by RTEMS.
 
-2009-12-16  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-12-16  Ralf CorsÃ\83Â\83Ã\82©pius <ralf.corsepius@rtems.org>
 
        * libc/search/hcreate.c: Don't include <sys/queue.h> (Unused).
 
-2009-12-16  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-12-16  Ralf CorsÃ\83Â\83Ã\82©pius <ralf.corsepius@rtems.org>
 
        * libc/sys/rtems/machine/_types.h: New (Derived from
        machine/_default_types.h).
        * libc/locale/locale.c: Drop Cygwin-specific windows.h include.
        (loadlocale): Call __set_charset_from_codepage with 0 codepage.
 
-2009-09-22  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-09-22  Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
 
        * libc/include/stdlib.h: Add posix_memalign.
 
-2009-09-22  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-09-22  Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
 
        * configure.host (*-rtems*): Remove -DMISSING_SYSCALL_NAMES.
        Add -DHAVE_BLKSIZE, -D_NO_WORDEXP -D_NO_POPEN.
 
-2009-09-22  Ralf Corsépius <ralf.corsepius@rtems.org>
+2009-09-22  Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
 
        * configure.host (m32c): Move setting -DABORT_PROVIDED to second
        "case $host".
        * libc/include/sys/unistd.h: Define all _SC_xxx values as
        required by SUSv3.  Unify formatting.
 
-2007-02-02  Ralf Corsépius <ralf.corsepius@rtems.org>
+2007-02-02  Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
 
        * libc/include/sys/errno.h: Add ECANCELED.
 
index 863404fcb56ff7f2fa6c547d5ff098621f64a905..f161385edabdedc2a820d3fa60bfa96975580f85 100644 (file)
@@ -47,6 +47,14 @@ _DEFUN (__ascii_mbtowc, (r, pwc, s, n, charset, state),
   if (n == 0)
     return -2;
 
+#ifdef __CYGWIN__
+  if ((wchar_t)*t >= 0x80)
+    {
+      r->_errno = EILSEQ;
+      return -1;
+    }
+#endif
+
   *pwc = (wchar_t)*t;
   
   if (*t == '\0')
index 2c462ba63f91c780207ea459c82348ed26da53ce..d1ee4978dae76d4f050151a0b2ff5cceb7fdb20c 100644 (file)
@@ -40,7 +40,11 @@ _DEFUN (__ascii_wctomb, (r, s, wchar, charset, state),
   if (s == NULL)
     return 0;
  
+#ifdef __CYGWIN__
+  if ((size_t)wchar >= 0x80)
+#else
   if ((size_t)wchar >= 0x100)
+#endif
     {
       r->_errno = EILSEQ;
       return -1;
This page took 0.059424 seconds and 5 git commands to generate.