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