1041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner#include <stdlib.h> 2041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner#include <string.h> 3041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner#include <strings.h> 4041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner#include <errno.h> 5041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 6041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *gettext(const char *msgid) 7041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 8041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) msgid; 9041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 10041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 11041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *dgettext(const char *domainname, const char *msgid) 12041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 13041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) msgid; 14041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 15041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 16041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *dcgettext(const char *domainname, const char *msgid, int category) 17041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 18041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) msgid; 19041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 20041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 21041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *ngettext(const char *msgid1, const char *msgid2, unsigned long int n) 22041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 23041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) ((n == 1) ? msgid1 : msgid2); 24041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 25041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 26041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) 27041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 28041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) ((n == 1) ? msgid1 : msgid2); 29041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 30041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 31041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) 32041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 33041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) ((n == 1) ? msgid1 : msgid2); 34041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 35041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 36041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *textdomain(const char *domainname) 37041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 38041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner static const char default_str[] = "messages"; 39041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 40041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner if (domainname && *domainname && strcmp(domainname, default_str)) { 41041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner errno = EINVAL; 42041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return NULL; 43041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner } 44041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) default_str; 45041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 46041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 47041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *bindtextdomain(const char *domainname, const char *dirname) 48041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 49041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner static const char dir[] = "/"; 50041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 51041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner if (!domainname || !*domainname 52041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner || (dirname && ((dirname[0] != '/') || dirname[1])) 53041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner ) { 54041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner errno = EINVAL; 55041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return NULL; 56041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner } 57041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 58041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return (char *) dir; 59041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 60041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner 61041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turnerchar *bind_textdomain_codeset(const char *domainname, const char *codeset) 62041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner{ 63041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) { 64041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner errno = EINVAL; 65041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner } 66041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner return NULL; 67041656818eb2625982d4b55d176468a4bd07fb32David 'Digit' Turner} 68