]> git.saurik.com Git - apple/libc.git/blobdiff - locale/FreeBSD/wcsnrtombs.c
Libc-763.11.tar.gz
[apple/libc.git] / locale / FreeBSD / wcsnrtombs.c
index 6de6ff946e02f59d8c74701b6f0656cda13ded74..89cd9b72b2b4839cbc47597546baf6ab3262c06f 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/wcsnrtombs.c,v 1.2 2004/07/22 02:57:29 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/wcsnrtombs.c,v 1.3 2005/02/12 08:45:12 stefanf Exp $");
 
 #include <limits.h>
 #include <stdlib.h>
@@ -73,7 +73,7 @@ __wcsnrtombs_std(char * __restrict dst, const wchar_t ** __restrict src,
        while (len > 0 && nwc-- > 0) {
                if (len > (size_t)MB_CUR_MAX) {
                        /* Enough space to translate in-place. */
-                       if ((nb = (int)__wcrtomb(dst, *s, ps)) < 0) {
+                       if ((nb = __wcrtomb(dst, *s, ps)) == (size_t)-1) {
                                *src = s;
                                return ((size_t)-1);
                        }
@@ -86,7 +86,7 @@ __wcsnrtombs_std(char * __restrict dst, const wchar_t ** __restrict src,
                         * character is too long for the buffer.
                         */
                        mbsbak = *ps;
-                       if ((nb = (int)__wcrtomb(buf, *s, ps)) < 0) {
+                       if ((nb = __wcrtomb(buf, *s, ps)) == (size_t)-1) {
                                *src = s;
                                return ((size_t)-1);
                        }