1#include <stdlib.h>
2#include <string.h>
3#include <strings.h>
4#include <errno.h>
5
6char *gettext(const char *msgid)
7{
8	return (char *) msgid;
9}
10
11char *dgettext(const char *domainname, const char *msgid)
12{
13	return (char *) msgid;
14}
15
16char *dcgettext(const char *domainname, const char *msgid, int category)
17{
18	return (char *) msgid;
19}
20
21char *ngettext(const char *msgid1, const char *msgid2, unsigned long int n)
22{
23	return (char *) ((n == 1) ? msgid1 : msgid2);
24}
25
26char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n)
27{
28	return (char *) ((n == 1) ? msgid1 : msgid2);
29}
30
31char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category)
32{
33	return (char *) ((n == 1) ? msgid1 : msgid2);
34}
35
36char *textdomain(const char *domainname)
37{
38	static const char default_str[] = "messages";
39
40	if (domainname && *domainname && strcmp(domainname, default_str)) {
41		errno = EINVAL;
42		return NULL;
43	}
44	return (char *) default_str;
45}
46
47char *bindtextdomain(const char *domainname, const char *dirname)
48{
49	static const char dir[] = "/";
50
51	if (!domainname || !*domainname
52		|| (dirname && ((dirname[0] != '/') || dirname[1]))
53		) {
54		errno = EINVAL;
55		return NULL;
56	}
57
58	return (char *) dir;
59}
60
61char *bind_textdomain_codeset(const char *domainname, const char *codeset)
62{
63	if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) {
64		errno = EINVAL;
65	}
66	return NULL;
67}
68