/*
* Supply some weaks for use by strerror*(), etc.
+ *
+ * Aug 30, 2003
+ * Add some hidden names to support locale-enabled libstd++.
*/
#include <stdlib.h>
return (char *) msgid;
}
-weak_alias (__uClibc_dgettext, __dgettext)
+weak_alias(__uClibc_dgettext, __dgettext)
#endif
/**********************************************************************/
#ifdef L___uClibc_dcgettext
-char * __uClibc_dcgettext(const char *domainname,
- const char *msgid, int category)
+char *__uClibc_dcgettext(const char *domainname,
+ const char *msgid, int category)
{
return (char *) msgid;
}
-weak_alias (__uClibc_dcgettext, __dcgettext)
+weak_alias(__uClibc_dcgettext, __dcgettext)
+
+#endif
+/**********************************************************************/
+#ifdef L___uClibc_textdomain
+
+char *__uClibc_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;
+}
+
+weak_alias(__uClibc_textdomain, __textdomain)
+
+#endif
+/**********************************************************************/
+#ifdef L___uClibc_bindtextdomain
+
+char *__uClibc_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;
+}
+
+weak_alias(__uClibc_bindtextdomain, __bindtextdomain)
#endif
/**********************************************************************/
/*
* Stub version of libintl.
+ *
+ * Aug 30, 2003
+ * Add some hidden names to support locale-enabled libstd++.
*/
#include <stdlib.h>
return (char *) msgid;
}
-weak_alias (__dgettext, dgettext)
+strong_alias(__dgettext, dgettext)
#endif
/**********************************************************************/
#ifdef L_dcgettext
-char * __dcgettext(const char *domainname,
- const char *msgid, int category)
+char *__dcgettext(const char *domainname,
+ const char *msgid, int category)
{
return (char *) msgid;
}
-weak_alias (__dcgettext, dcgettext)
+strong_alias(__dcgettext, dcgettext)
#endif
/**********************************************************************/
#ifdef L_ngettext
char *ngettext(const char *msgid1, const char *msgid2,
- unsigned long int n)
+ unsigned long int n)
{
return (char *) ((n == 1) ? msgid1 : msgid2);
}
#ifdef L_dngettext
char *dngettext(const char *domainname, const char *msgid1,
- const char *msgid2, unsigned long int n)
+ const char *msgid2, unsigned long int n)
{
return (char *) ((n == 1) ? msgid1 : msgid2);
}
#ifdef L_dcngettext
char *dcngettext(const char *domainname, const char *msgid1,
- const char *msgid2, unsigned long int n,
- int category)
+ const char *msgid2, unsigned long int n,
+ int category)
{
return (char *) ((n == 1) ? msgid1 : msgid2);
}
/**********************************************************************/
#ifdef L_textdomain
-char *textdomain(const char *domainname)
+char *__textdomain(const char *domainname)
{
static const char default_str[] = "messages";
return (char *) default_str;
}
+strong_alias(__textdomain, textdomain)
+
#endif
/**********************************************************************/
#ifdef L_bindtextdomain
-char *bindtextdomain(const char *domainname, const char *dirname)
+char *__bindtextdomain(const char *domainname, const char *dirname)
{
static const char dir[] = "/";
return (char *) dir;
}
+strong_alias(__bindtextdomain, bindtextdomain)
+
#endif
/**********************************************************************/
#ifdef L_bind_textdomain_codeset
const char *_nl_expand_alias(const char * name)
{
- return NULL; /* uClibc does not support locale aliases. */
+ return NULL; /* uClibc does not support locale aliases. */
}
#endif