1 /* Copyright (C) 2003 Manuel Novoa III
2 * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
3 *
4 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
5 */
6
7 /*
8 * Stub version of libintl.
9 *
10 * Aug 30, 2003
11 * Add some hidden names to support locale-enabled libstd++.
12 */
13
14 #include <stdlib.h>
15 #include <string.h>
16 #include <errno.h>
17
18 #undef __OPTIMIZE__
19 #include <libintl.h>
20
21 /**********************************************************************/
22 #ifdef L_gettext
23
gettext(const char * msgid)24 char *gettext(const char *msgid)
25 {
26 return (char *) msgid;
27 }
28
29 #endif
30 /**********************************************************************/
31 #ifdef L_dgettext
32
dgettext(const char * domainname,const char * msgid)33 char *dgettext(const char *domainname,
34 const char *msgid)
35 {
36 return (char *) msgid;
37 }
38
39 #endif
40 /**********************************************************************/
41 #ifdef L_dcgettext
42
dcgettext(const char * domainname,const char * msgid,int category)43 char *dcgettext(const char *domainname,
44 const char *msgid, int category)
45 {
46 return (char *) msgid;
47 }
48
49 #endif
50 /**********************************************************************/
51 #ifdef L_ngettext
52
ngettext(const char * msgid1,const char * msgid2,unsigned long int n)53 char *ngettext(const char *msgid1, const char *msgid2,
54 unsigned long int n)
55 {
56 return (char *) ((n == 1) ? msgid1 : msgid2);
57 }
58
59 #endif
60 /**********************************************************************/
61 #ifdef L_dngettext
62
dngettext(const char * domainname,const char * msgid1,const char * msgid2,unsigned long int n)63 char *dngettext(const char *domainname, const char *msgid1,
64 const char *msgid2, unsigned long int n)
65 {
66 return (char *) ((n == 1) ? msgid1 : msgid2);
67 }
68
69 #endif
70 /**********************************************************************/
71 #ifdef L_dcngettext
72
dcngettext(const char * domainname,const char * msgid1,const char * msgid2,unsigned long int n,int category)73 char *dcngettext(const char *domainname, const char *msgid1,
74 const char *msgid2, unsigned long int n,
75 int category)
76 {
77 return (char *) ((n == 1) ? msgid1 : msgid2);
78 }
79
80 #endif
81 /**********************************************************************/
82 #ifdef L_textdomain
83
textdomain(const char * domainname)84 char *textdomain(const char *domainname)
85 {
86 static const char default_str[] = "messages";
87
88 if (domainname && *domainname && strcmp(domainname, default_str)) {
89 __set_errno(EINVAL);
90 return NULL;
91 }
92 return (char *) default_str;
93 }
94
95 #endif
96 /**********************************************************************/
97 #ifdef L_bindtextdomain
98
bindtextdomain(const char * domainname,const char * dirname)99 char *bindtextdomain(const char *domainname, const char *dirname)
100 {
101 static const char dir[] = "/";
102
103 if (!domainname || !*domainname
104 || (dirname
105 #if 1
106 && ((dirname[0] != '/') || dirname[1])
107 #else
108 && strcmp(dirname, dir)
109 #endif
110 )
111 ) {
112 __set_errno(EINVAL);
113 return NULL;
114 }
115
116 return (char *) dir;
117 }
118
119 #endif
120 /**********************************************************************/
121 #ifdef L_bind_textdomain_codeset
122
123 /* Specify the character encoding in which the messages from the
124 DOMAINNAME message catalog will be returned. */
bind_textdomain_codeset(const char * domainname,const char * codeset)125 char *bind_textdomain_codeset(const char *domainname, const char *codeset)
126 {
127 if (!domainname || !*domainname || codeset) {
128 __set_errno(EINVAL);
129 }
130 return NULL;
131 }
132
133 #endif
134 /**********************************************************************/
135 #ifdef L__nl_expand_alias
136
137 /* glibc-ism */
138
139 const char *_nl_expand_alias(const char * name);
_nl_expand_alias(const char * name)140 const char *_nl_expand_alias(const char * name)
141 {
142 return NULL; /* uClibc does not support locale aliases. */
143 }
144
145 #endif
146 /**********************************************************************/
147 #ifdef L__nl_msg_cat_cntr
148
149 /* glibc-ism */
150
151 int _nl_msg_cat_cntr = 0;
152
153 #endif
154 /**********************************************************************/
155