libc: some more C locale only wrapping and glue
authorAlan Cox <alan@linux.intel.com>
Fri, 16 Jan 2015 00:57:55 +0000 (00:57 +0000)
committerAlan Cox <alan@linux.intel.com>
Fri, 16 Jan 2015 00:57:55 +0000 (00:57 +0000)
Just so we can build intl apps without hassle

Library/libs/Makefile
Library/libs/Makefile.6502
Library/libs/libintl.c [new file with mode: 0644]
Library/libs/setlocale.c

index e59954f..99f0262 100644 (file)
@@ -23,6 +23,7 @@ SRC_C += fsetpos.c ftell.c fwrite.c getcwd.c
 SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getopt.c
 SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
 SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c itoa.c killpg.c
+SRC_C += libintl.c
 SRC_C += localtim.c localtim_r.c lseek.c lsearch.c lstat.c ltoa.c ltostr.c
 SRC_C += malloc.c mkfifo.c nanosleep.c opendir.c pause.c perror.c
 SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c pwent.c qsort.c
index e269020..4901e27 100644 (file)
@@ -41,6 +41,7 @@ SRC_C += fsetpos.c ftell.c fwrite.c getcwd.c
 SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getopt.c
 SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
 SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c itoa.c killpg.c
+SRC_C += libintl.c
 SRC_C += localtim.c localtim_r.c lseek.c lsearch.c lstat.c ltoa.c ltostr.c
 SRC_C += malloc.c mkfifo.c nanosleep.c opendir.c pause.c perror.c
 SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c pwent.c qsort.c
diff --git a/Library/libs/libintl.c b/Library/libs/libintl.c
new file mode 100644 (file)
index 0000000..7f91b74
--- /dev/null
@@ -0,0 +1,50 @@
+#include <libintl.h>
+#include <stdlib.h>
+#include <string.h>
+
+static char *_domain;
+
+char *textdomain(const char *domainname)
+{
+  if (domainname) {
+    if (_domain)
+      free(_domain);
+    _domain = strdup(domainname);
+  }
+  return _domain;
+}
+
+char *bindtextdomain(const char *domainname, const char *dirname)
+{
+  return textdomain(domainname);
+}
+
+char *gettext(const char *msgid)
+{
+  return (char *)msgid;
+}
+
+char *dgettext(const char *domainname, const char *msgid)
+{
+  return (char *)msgid;
+}
+
+char *dcgettext(const char *domainname, const char *msgid, int category)
+{
+  return (char *)msgid;
+}
+
+char *ngettext(const char *msgid, const char *msgid_plural, unsigned long n)
+{
+  return n == 1 ? (char *)msgid : (char *)msgid_plural;
+}
+
+char *dngettext(const char *domain, const char *msgid, const char *msgid_plural, unsigned long n)
+{
+  return n == 1 ? (char *)msgid : (char *)msgid_plural;
+}
+
+char *dcngettext(const char *domain, const char *msgid, const char *msgid_plural, unsigned long n, int category)
+{
+  return n == 1 ? (char *)msgid : (char *)msgid_plural;
+}
index 7b23ce5..59c3410 100644 (file)
@@ -60,3 +60,4 @@ struct lconv *localeconv(void)
        return &C_lc;
 }
 
+/* FIXME: add nl_langinfo() */