diff options
author | Manuel Novoa III <mjn3@codepoet.org> | 2003-08-24 03:49:13 +0000 |
---|---|---|
committer | Manuel Novoa III <mjn3@codepoet.org> | 2003-08-24 03:49:13 +0000 |
commit | 50660812be5588036a14fc85af16bccef68fac02 (patch) | |
tree | 65f25cc1dda3c7efc76efee2c61b28973465db2a /libc/misc/intl | |
parent | 02f74937667727e32c591afe42e90e2b515ab61e (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/Makefile | 3 | ||||
-rw-r--r-- | libc/misc/intl/intl.c | 106 |
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 /**********************************************************************/ |