svn commit: trunk/uClibc/libc/misc/wchar

psm at uclibc.org psm at uclibc.org
Mon Nov 28 12:56:54 UTC 2005


Author: psm
Date: 2005-11-28 04:56:52 -0800 (Mon, 28 Nov 2005)
New Revision: 12549

Log:
Create and hide __btowc, __mbrtowc, __wcrtomb

Modified:
   trunk/uClibc/libc/misc/wchar/wchar.c


Changeset:
Modified: trunk/uClibc/libc/misc/wchar/wchar.c
===================================================================
--- trunk/uClibc/libc/misc/wchar/wchar.c	2005-11-28 07:18:45 UTC (rev 12548)
+++ trunk/uClibc/libc/misc/wchar/wchar.c	2005-11-28 12:56:52 UTC (rev 12549)
@@ -166,6 +166,13 @@
 
 #define KUHN 1
 
+extern size_t __mbrtowc (wchar_t *__restrict __pwc,
+		       __const char *__restrict __s, size_t __n,
+		       mbstate_t *__p) attribute_hidden;
+
+extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
+		       mbstate_t *__restrict __ps) attribute_hidden;
+
 /* Implementation-specific work functions. */
 
 extern size_t _wchar_utf8sntowcs(wchar_t *__restrict pwc, size_t wn,
@@ -188,7 +195,7 @@
 /**********************************************************************/
 #ifdef L_btowc
 
-wint_t btowc(int c)
+wint_t attribute_hidden __btowc(int c)
 {
 #ifdef __CTYPE_HAS_8_BIT_LOCALES
 
@@ -199,7 +206,7 @@
 	if (c != EOF) {
 		*buf = (unsigned char) c;
 		mbstate.__mask = 0;		/* Initialize the mbstate. */
-		if (mbrtowc(&wc, buf, 1, &mbstate) <= 1) {
+		if (__mbrtowc(&wc, buf, 1, &mbstate) <= 1) {
 			return wc;
 		}
 	}
@@ -218,6 +225,7 @@
 
 #endif /*  __CTYPE_HAS_8_BIT_LOCALES */
 }
+strong_alias(__btowc,btowc)
 
 #endif
 /**********************************************************************/
@@ -231,7 +239,7 @@
 
 	unsigned char buf[MB_LEN_MAX];
 
-	return (wcrtomb(buf, c, NULL) == 1) ? *buf : EOF;
+	return (__wcrtomb(buf, c, NULL) == 1) ? *buf : EOF;
 
 #else  /*  __CTYPE_HAS_8_BIT_LOCALES */
 
@@ -267,7 +275,7 @@
 {
 	static mbstate_t mbstate;	/* Rely on bss 0-init. */
 
-	return mbrtowc(NULL, s, n, (ps != NULL) ? ps : &mbstate);
+	return __mbrtowc(NULL, s, n, (ps != NULL) ? ps : &mbstate);
 }
 
 size_t mbrlen(const char *__restrict s, size_t n, mbstate_t *__restrict ps)
@@ -277,7 +285,7 @@
 /**********************************************************************/
 #ifdef L_mbrtowc
 
-size_t mbrtowc(wchar_t *__restrict pwc, const char *__restrict s,
+size_t attribute_hidden __mbrtowc(wchar_t *__restrict pwc, const char *__restrict s,
 			   size_t n, mbstate_t *__restrict ps)
 {
 	static mbstate_t mbstate;	/* Rely on bss 0-init. */
@@ -327,6 +335,7 @@
 	}
 	return (size_t) r;
 }
+strong_alias(__mbrtowc,mbrtowc)
 
 #endif
 /**********************************************************************/
@@ -335,7 +344,7 @@
 /* Note: We completely ignore ps in all currently supported conversions. */
 /* TODO: Check for valid state anyway? */
 
-size_t wcrtomb(register char *__restrict s, wchar_t wc,
+size_t attribute_hidden __wcrtomb(register char *__restrict s, wchar_t wc,
 			   mbstate_t *__restrict ps)
 {
 #ifdef __UCLIBC_MJN3_ONLY__
@@ -357,6 +366,7 @@
 	r = __wcsnrtombs(s, &pwc, 1, MB_LEN_MAX, ps);
 	return (r != 0) ? r : 1;
 }
+strong_alias(__wcrtomb,wcrtomb)
 
 #endif
 /**********************************************************************/




More information about the uClibc-cvs mailing list