[uClibc-cvs] uClibc/libc/misc/intl Makefile,1.2,1.3 intl.c,1.2,1.3

Manuel Novoa III mjn3 at uclibc.org
Mon Sep 1 09:47:11 UTC 2003


Update of /var/cvs/uClibc/libc/misc/intl
In directory winder:/tmp/cvs-serv5558/libc/misc/intl

Modified Files:
	Makefile intl.c 
Log Message:
Rework a few things.


Index: Makefile
===================================================================
RCS file: /var/cvs/uClibc/libc/misc/intl/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Makefile	24 Aug 2003 03:49:07 -0000	1.2
+++ Makefile	1 Sep 2003 09:47:08 -0000	1.3
@@ -25,7 +25,8 @@
 include $(TOPDIR)Rules.mak
 
 MSRC= intl.c
-MOBJ= __uClibc_dgettext.o __uClibc_dcgettext.o
+MOBJ= __uClibc_dgettext.o __uClibc_dcgettext.o \
+	__uClibc_textdomain.o __uClibc_bindtextdomain.o # for libstd++
 
 OBJS=$(MOBJ)
 

Index: intl.c
===================================================================
RCS file: /var/cvs/uClibc/libc/misc/intl/intl.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- intl.c	24 Aug 2003 03:49:07 -0000	1.2
+++ intl.c	1 Sep 2003 09:47:08 -0000	1.3
@@ -17,6 +17,9 @@
 
 /*
  *  Supply some weaks for use by strerror*(), etc.
+ *
+ *  Aug 30, 2003
+ *  Add some hidden names to support locale-enabled libstd++.
  */
 
 #include <stdlib.h>
@@ -35,19 +38,62 @@
 	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
 /**********************************************************************/




More information about the uClibc-cvs mailing list