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
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