OLD | NEW |
1 #include <libintl.h> | 1 #include <libintl.h> |
2 #include <string.h> | 2 #include <string.h> |
3 #include <stdlib.h> | 3 #include <stdlib.h> |
4 #include <errno.h> | 4 #include <errno.h> |
5 #include <limits.h> | 5 #include <limits.h> |
6 #include "libc.h" | 6 #include "libc.h" |
7 #include "atomic.h" | 7 #include "atomic.h" |
8 | 8 |
9 static char *current_domain; | 9 static char* current_domain; |
10 | 10 |
11 char *__gettextdomain() | 11 char* __gettextdomain() { |
12 { | 12 return current_domain ? current_domain : "messages"; |
13 » return current_domain ? current_domain : "messages"; | |
14 } | 13 } |
15 | 14 |
16 char *textdomain(const char *domainname) | 15 char* textdomain(const char* domainname) { |
17 { | 16 if (!domainname) |
18 » if (!domainname) return __gettextdomain(); | 17 return __gettextdomain(); |
19 | 18 |
20 » size_t domlen = strlen(domainname); | 19 size_t domlen = strlen(domainname); |
21 » if (domlen > NAME_MAX) { | 20 if (domlen > NAME_MAX) { |
22 » » errno = EINVAL; | 21 errno = EINVAL; |
23 » » return 0; | 22 return 0; |
24 » } | 23 } |
25 | 24 |
26 » if (!current_domain) { | 25 if (!current_domain) { |
27 » » current_domain = malloc(NAME_MAX+1); | 26 current_domain = malloc(NAME_MAX + 1); |
28 » » if (!current_domain) return 0; | 27 if (!current_domain) |
29 » } | 28 return 0; |
| 29 } |
30 | 30 |
31 » memcpy(current_domain, domainname, domlen+1); | 31 memcpy(current_domain, domainname, domlen + 1); |
32 | 32 |
33 » return current_domain; | 33 return current_domain; |
34 } | 34 } |
35 | 35 |
36 char *gettext(const char *msgid) | 36 char* gettext(const char* msgid) { |
37 { | 37 return dgettext(0, msgid); |
38 » return dgettext(0, msgid); | |
39 } | 38 } |
40 | 39 |
41 char *ngettext(const char *msgid1, const char *msgid2, unsigned long int n) | 40 char* ngettext(const char* msgid1, const char* msgid2, unsigned long int n) { |
42 { | 41 return dngettext(0, msgid1, msgid2, n); |
43 » return dngettext(0, msgid1, msgid2, n); | |
44 } | 42 } |
OLD | NEW |