1/* intl-compat.c - Stub functions to call gettext functions from GNU gettext 2 Library. 3 Copyright (C) 1995, 2000-2003, 2005 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 HAVE_VISIBILITY && BUILDING_DLL 53# define DLL_EXPORTED __attribute__((__visibility__("default"))) 54#elif defined _MSC_VER && BUILDING_DLL 55# define DLL_EXPORTED __declspec(dllexport) 56#else 57# define DLL_EXPORTED 58#endif 59 60 61DLL_EXPORTED 62char * 63gettext (const char *msgid) 64{ 65 return libintl_gettext (msgid); 66} 67 68 69DLL_EXPORTED 70char * 71dgettext (const char *domainname, const char *msgid) 72{ 73 return libintl_dgettext (domainname, msgid); 74} 75 76 77DLL_EXPORTED 78char * 79dcgettext (const char *domainname, const char *msgid, int category) 80{ 81 return libintl_dcgettext (domainname, msgid, category); 82} 83 84 85DLL_EXPORTED 86char * 87ngettext (const char *msgid1, const char *msgid2, unsigned long int n) 88{ 89 return libintl_ngettext (msgid1, msgid2, n); 90} 91 92 93DLL_EXPORTED 94char * 95dngettext (const char *domainname, 96 const char *msgid1, const char *msgid2, unsigned long int n) 97{ 98 return libintl_dngettext (domainname, msgid1, msgid2, n); 99} 100 101 102DLL_EXPORTED 103char * 104dcngettext (const char *domainname, 105 const char *msgid1, const char *msgid2, unsigned long int n, 106 int category) 107{ 108 return libintl_dcngettext (domainname, msgid1, msgid2, n, category); 109} 110 111 112DLL_EXPORTED 113char * 114textdomain (const char *domainname) 115{ 116 return libintl_textdomain (domainname); 117} 118 119 120DLL_EXPORTED 121char * 122bindtextdomain (const char *domainname, const char *dirname) 123{ 124 return libintl_bindtextdomain (domainname, dirname); 125} 126 127 128DLL_EXPORTED 129char * 130bind_textdomain_codeset (const char *domainname, const char *codeset) 131{ 132 return libintl_bind_textdomain_codeset (domainname, codeset); 133} 134 135#ifdef __UCLIBC__ 136DLL_EXPORTED void (*error_print_progname)(void) = NULL; 137#endif 138