summaryrefslogtreecommitdiff
path: root/libc/misc/intl
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2003-08-24 03:49:13 +0000
committerManuel Novoa III <mjn3@codepoet.org>2003-08-24 03:49:13 +0000
commit50660812be5588036a14fc85af16bccef68fac02 (patch)
tree65f25cc1dda3c7efc76efee2c61b28973465db2a /libc/misc/intl
parent02f74937667727e32c591afe42e90e2b515ab61e (diff)
Fix a few bugs in the new extended locale functions.
Move stub gettext functions to a stub libintl to make switching in gnu gettext easier. Also add a few gnu-isms. Change to using hidden names with global weak aliases for the extended locale functions, as expected by libstd++. Slightly rework the locale data generation stuff to allow pregenerated locale data to be used with buildroot.
Diffstat (limited to 'libc/misc/intl')
-rw-r--r--libc/misc/intl/Makefile3
-rw-r--r--libc/misc/intl/intl.c106
2 files changed, 6 insertions, 103 deletions
diff --git a/libc/misc/intl/Makefile b/libc/misc/intl/Makefile
index 75fbb321f..9975e5eb1 100644
--- a/libc/misc/intl/Makefile
+++ b/libc/misc/intl/Makefile
@@ -25,8 +25,7 @@ TOPDIR=../../../
include $(TOPDIR)Rules.mak
MSRC= intl.c
-MOBJ= gettext.o ngettext.o dgettext.o dcgettext.o dngettext.o dcngettext.o \
- textdomain.o bindtextdomain.o bind_textdomain_codeset.o
+MOBJ= __uClibc_dgettext.o __uClibc_dcgettext.o
OBJS=$(MOBJ)
diff --git a/libc/misc/intl/intl.c b/libc/misc/intl/intl.c
index 183ffcc92..eca6fa96a 100644
--- a/libc/misc/intl/intl.c
+++ b/libc/misc/intl/intl.c
@@ -16,7 +16,7 @@
*/
/*
- * Supply some weaks for gettext and friends. Used by strerror*().
+ * Supply some weaks for use by strerror*(), etc.
*/
#include <stdlib.h>
@@ -27,123 +27,27 @@
#include <libintl.h>
/**********************************************************************/
-#ifdef L_gettext
-
-char *weak_function gettext(const char *msgid)
-{
- return (char *) msgid;
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_dgettext
+#ifdef L___uClibc_dgettext
char *__uClibc_dgettext(const char *domainname,
- const char *msgid)
+ const char *msgid)
{
return (char *) msgid;
}
weak_alias (__uClibc_dgettext, __dgettext)
-weak_alias (__uClibc_dgettext, dgettext)
#endif
/**********************************************************************/
-#ifdef L_dcgettext
+#ifdef L___uClibc_dcgettext
char * __uClibc_dcgettext(const char *domainname,
- const char *msgid, int category)
+ const char *msgid, int category)
{
return (char *) msgid;
}
weak_alias (__uClibc_dcgettext, __dcgettext)
-weak_alias (__uClibc_dcgettext, dcgettext)
-
-#endif
-/**********************************************************************/
-#ifdef L_ngettext
-
-char *weak_function ngettext(const char *msgid1, const char *msgid2,
- unsigned long int n)
-{
- return (char *) ((n == 1) ? msgid1 : msgid2);
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_dngettext
-
-char *weak_function dngettext(const char *domainname, const char *msgid1,
- const char *msgid2, unsigned long int n)
-{
- return (char *) ((n == 1) ? msgid1 : msgid2);
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_dcngettext
-
-char *weak_function dcngettext(const char *domainname, const char *msgid1,
- const char *msgid2, unsigned long int n,
- int category)
-{
- return (char *) ((n == 1) ? msgid1 : msgid2);
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_textdomain
-
-char *weak_function textdomain(const char *domainname)
-{
- static const char default_str[] = "messages";
-
- if (domainname && *domainname && strcmp(domainname, default_str)) {
- __set_errno(EINVAL);
- return NULL;
- }
- return (char *) default_str;
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_bindtextdomain
-
-char *weak_function bindtextdomain(const char *domainname, const char *dirname)
-{
- static const char dir[] = "/";
-
- if (!domainname || !*domainname
- || (dirname
-#if 1
- && ((dirname[0] != '/') || dirname[1])
-#else
- && strcmp(dirname, dir)
-#endif
- )
- ) {
- __set_errno(EINVAL);
- return NULL;
- }
-
- return (char *) dir;
-}
-
-#endif
-/**********************************************************************/
-#ifdef L_bind_textdomain_codeset
-
-/* Specify the character encoding in which the messages from the
- DOMAINNAME message catalog will be returned. */
-char *weak_function bind_textdomain_codeset(const char *domainname,
- const char *codeset)
-{
- if (!domainname || !*domainname || codeset) {
- __set_errno(EINVAL);
- }
- return NULL;
-}
#endif
/**********************************************************************/