X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/7b00c0c43f52e9d27168e67a26aac19065cdb40c..ad3c9f2af814c84582fdd1649e49ec4f68572c5a:/stdio/FreeBSD/fputwc.c.patch diff --git a/stdio/FreeBSD/fputwc.c.patch b/stdio/FreeBSD/fputwc.c.patch deleted file mode 100644 index 7264139..0000000 --- a/stdio/FreeBSD/fputwc.c.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- fputwc.c.orig 2009-11-11 13:33:08.000000000 -0800 -+++ fputwc.c 2009-11-13 11:45:45.000000000 -0800 -@@ -27,6 +27,8 @@ - #include - __FBSDID("$FreeBSD: src/lib/libc/stdio/fputwc.c,v 1.11 2008/04/17 22:17:53 jhb Exp $"); - -+#include "xlocale_private.h" -+ - #include "namespace.h" - #include - #include -@@ -41,13 +43,14 @@ __FBSDID("$FreeBSD: src/lib/libc/stdio/f - /* - * Non-MT-safe version. - */ --wint_t --__fputwc(wchar_t wc, FILE *fp) -+__private_extern__ wint_t -+__fputwc(wchar_t wc, FILE *fp, locale_t loc) - { - char buf[MB_LEN_MAX]; - size_t i, len; -+ struct __xlocale_st_runelocale *xrl = loc->__lc_ctype; - -- if (MB_CUR_MAX == 1 && wc > 0 && wc <= UCHAR_MAX) { -+ if (xrl->__mb_cur_max == 1 && wc > 0 && wc <= UCHAR_MAX) { - /* - * Assume single-byte locale with no special encoding. - * A more careful test would be to check -@@ -56,7 +59,7 @@ __fputwc(wchar_t wc, FILE *fp) - *buf = (unsigned char)wc; - len = 1; - } else { -- if ((len = __wcrtomb(buf, wc, &fp->_mbstate)) == (size_t)-1) { -+ if ((len = loc->__lc_ctype->__wcrtomb(buf, wc, &fp->_mbstate, loc)) == (size_t)-1) { - fp->_flags |= __SERR; - return (WEOF); - } -@@ -79,7 +82,21 @@ fputwc(wchar_t wc, FILE *fp) - - FLOCKFILE(fp); - ORIENT(fp, 1); -- r = __fputwc(wc, fp); -+ r = __fputwc(wc, fp, __current_locale()); -+ FUNLOCKFILE(fp); -+ -+ return (r); -+} -+ -+wint_t -+fputwc_l(wchar_t wc, FILE *fp, locale_t loc) -+{ -+ wint_t r; -+ -+ NORMALIZE_LOCALE(loc); -+ FLOCKFILE(fp); -+ ORIENT(fp, 1); -+ r = __fputwc(wc, fp, loc); - FUNLOCKFILE(fp); - - return (r);