chiark / gitweb /
ruby: Build 32-bit variants with gcc for now
[termux-packages] / ndk-patches / libintl.h
1 #ifndef _LIBINTL_H
2 #define _LIBINTL_H
3
4 #include <errno.h>
5 #include <string.h>
6
7 static __inline__ char* gettext(const char* msgid)
8 { return (char*) msgid; }
9
10 static __inline__ char* dgettext(const char* domainname, const char* msgid)
11 { return (char*) msgid; }
12
13 static __inline__ char* dcgettext(const char* domainname, const char* msgid, int category)
14 { return (char*) msgid; }
15
16 static __inline__ char* ngettext(const char* msgid1, const char* msgid2, unsigned long int n)
17 { return (char *) ((n == 1) ? msgid1 : msgid2); }
18
19 static __inline__ char* dngettext(const char* domainname, const char* msgid1, const char* msgid2, unsigned long int n)
20 { return (char *) ((n == 1) ? msgid1 : msgid2); }
21
22 static __inline__ char* dcngettext(const char* domainname, const char* msgid1, const char* msgid2, unsigned long int n, int category)
23 { return (char *) ((n == 1) ? msgid1 : msgid2); }
24
25 static __inline__ char* textdomain(const char* domainname)
26 {
27         static const char default_str[] = "messages";
28         if (domainname && *domainname && strcmp(domainname, default_str)) {
29                 errno = EINVAL;
30                 return NULL;
31         }
32         return (char*) default_str;
33 }
34
35 static __inline__ char* bindtextdomain(const char* domainname, const char* dirname)
36 {
37         static const char dir[] = "/";
38         if (!domainname || !*domainname || (dirname && ((dirname[0] != '/') || dirname[1]))) {
39                 errno = EINVAL;
40                 return NULL;
41         }
42         return (char*) dir;
43 }
44
45 static __inline__ char* bind_textdomain_codeset(const char* domainname, const char* codeset)
46 {
47         if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) {
48                 errno = EINVAL;
49         }
50         return NULL;
51 }
52
53 #endif