vim: Update from 8.0.1700 to 8.0.1750
[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