1 /* intl-compat.c - Stub functions to call gettext functions from GNU gettext 2 Library. 3 Copyright (C) 1995, 2000-2003 Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify it 6 under the terms of the GNU Library General Public License as published 7 by the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public 16 License along with this program; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 18 USA. */ 19 20 #ifdef HAVE_CONFIG_H 21 # include <config.h> 22 #endif 23 24 #include "gettextP.h" 25 26 /* @@ end of prolog @@ */ 27 28 /* This file redirects the gettext functions (without prefix) to those 29 defined in the included GNU libintl library (with "libintl_" prefix). 30 It is compiled into libintl in order to make the AM_GNU_GETTEXT test 31 of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which 32 has the redirections primarily in the <libintl.h> include file. 33 It is also compiled into libgnuintl so that libgnuintl.so can be used 34 as LD_PRELOADable library on glibc systems, to provide the extra 35 features that the functions in the libc don't have (namely, logging). */ 36 37 38 #undef gettext 39 #undef dgettext 40 #undef dcgettext 41 #undef ngettext 42 #undef dngettext 43 #undef dcngettext 44 #undef textdomain 45 #undef bindtextdomain 46 #undef bind_textdomain_codeset 47 48 49 /* When building a DLL, we must export some functions. Note that because 50 the functions are only defined for binary backward compatibility, we 51 don't need to use __declspec(dllimport) in any case. */ 52 #if defined _MSC_VER && BUILDING_DLL 53 # define DLL_EXPORTED __declspec(dllexport) 54 #else 55 # define DLL_EXPORTED 56 #endif 57 58 59 DLL_EXPORTED 60 char * 61 gettext (msgid) 62 const char *msgid; 63 { 64 return libintl_gettext (msgid); 65 } 66 67 68 DLL_EXPORTED 69 char * 70 dgettext (domainname, msgid) 71 const char *domainname; 72 const char *msgid; 73 { 74 return libintl_dgettext (domainname, msgid); 75 } 76 77 78 DLL_EXPORTED 79 char * 80 dcgettext (domainname, msgid, category) 81 const char *domainname; 82 const char *msgid; 83 int category; 84 { 85 return libintl_dcgettext (domainname, msgid, category); 86 } 87 88 89 DLL_EXPORTED 90 char * 91 ngettext (msgid1, msgid2, n) 92 const char *msgid1; 93 const char *msgid2; 94 unsigned long int n; 95 { 96 return libintl_ngettext (msgid1, msgid2, n); 97 } 98 99 100 DLL_EXPORTED 101 char * 102 dngettext (domainname, msgid1, msgid2, n) 103 const char *domainname; 104 const char *msgid1; 105 const char *msgid2; 106 unsigned long int n; 107 { 108 return libintl_dngettext (domainname, msgid1, msgid2, n); 109 } 110 111 112 DLL_EXPORTED 113 char * 114 dcngettext (domainname, msgid1, msgid2, n, category) 115 const char *domainname; 116 const char *msgid1; 117 const char *msgid2; 118 unsigned long int n; 119 int category; 120 { 121 return libintl_dcngettext (domainname, msgid1, msgid2, n, category); 122 } 123 124 125 DLL_EXPORTED 126 char * 127 textdomain (domainname) 128 const char *domainname; 129 { 130 return libintl_textdomain (domainname); 131 } 132 133 134 DLL_EXPORTED 135 char * 136 bindtextdomain (domainname, dirname) 137 const char *domainname; 138 const char *dirname; 139 { 140 return libintl_bindtextdomain (domainname, dirname); 141 } 142 143 144 DLL_EXPORTED 145 char * 146 bind_textdomain_codeset (domainname, codeset) 147 const char *domainname; 148 const char *codeset; 149 { 150 return libintl_bind_textdomain_codeset (domainname, codeset); 151 } 152