1 /* Copyright (C) 2003     Manuel Novoa III
2  * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
3  *
4  * Trivial Stubs, Public Domain.
5  */
6 
7 #include <stdlib.h>
8 #include <string.h>
9 #include <errno.h>
10 
gettext(const char * msgid)11 char *gettext(const char *msgid)
12 {
13 	return (char *) msgid;
14 }
15 
dgettext(const char * domainname,const char * msgid)16 char *dgettext(const char *domainname, const char *msgid)
17 {
18 	(void) domainname;
19 	return (char *) msgid;
20 }
21 
dcgettext(const char * domainname,const char * msgid,int category)22 char *dcgettext(const char *domainname, const char *msgid, int category)
23 {
24 	(void) domainname;
25 	(void) category;
26 	return (char *) msgid;
27 }
28 
ngettext(const char * msgid1,const char * msgid2,unsigned long n)29 char *ngettext(const char *msgid1, const char *msgid2, unsigned long n)
30 {
31 	return (char *) ((n == 1) ? msgid1 : msgid2);
32 }
33 
dngettext(const char * domainname,const char * msgid1,const char * msgid2,unsigned long n)34 char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n)
35 {
36 	(void) domainname;
37 	return (char *) ((n == 1) ? msgid1 : msgid2);
38 }
39 
dcngettext(const char * domainname,const char * msgid1,const char * msgid2,unsigned long n,int category)40 char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, int category)
41 {
42 	(void) domainname;
43 	(void) category;
44 	return (char *) ((n == 1) ? msgid1 : msgid2);
45 }
46 
textdomain(const char * domainname)47 char *textdomain(const char *domainname)
48 {
49 	static const char default_str[] = "messages";
50 
51 	if (domainname && *domainname && strcmp(domainname, default_str)) {
52 		errno = EINVAL;
53 		return NULL;
54 	}
55 	return (char *) default_str;
56 }
57 
bindtextdomain(const char * domainname,const char * dirname)58 char *bindtextdomain(const char *domainname, const char *dirname)
59 {
60 	static const char dir[] = "/";
61 
62 	if (!domainname || !*domainname
63 		|| (dirname && ((dirname[0] != '/') || dirname[1]))
64 		) {
65 		errno = EINVAL;
66 		return NULL;
67 	}
68 
69 	return (char *) dir;
70 }
71 
bind_textdomain_codeset(const char * domainname,const char * codeset)72 char *bind_textdomain_codeset(const char *domainname, const char *codeset)
73 {
74 	if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) {
75 		errno = EINVAL;
76 	}
77 	return NULL;
78 }
79 
80 /* trick configure tests checking for gnu libintl, as in the copy included in gdb */
_nl_expand_alias(void)81 const char *_nl_expand_alias (void) { return NULL; }
82 int _nl_msg_cat_cntr = 0;
83