Statistics
| Revision:

root / intl / intl-compat.c @ 1

History | View | Annotate | Download (3.28 KB)

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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
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 (const char *msgid)
62
{
63
  return libintl_gettext (msgid);
64
}
65

    
66

    
67
DLL_EXPORTED
68
char *
69
dgettext (const char *domainname, const char *msgid)
70
{
71
  return libintl_dgettext (domainname, msgid);
72
}
73

    
74

    
75
DLL_EXPORTED
76
char *
77
dcgettext (const char *domainname, const char *msgid, int category)
78
{
79
  return libintl_dcgettext (domainname, msgid, category);
80
}
81

    
82

    
83
DLL_EXPORTED
84
char *
85
ngettext (const char *msgid1, const char *msgid2, unsigned long int n)
86
{
87
  return libintl_ngettext (msgid1, msgid2, n);
88
}
89

    
90

    
91
DLL_EXPORTED
92
char *
93
dngettext (const char *domainname,
94
           const char *msgid1, const char *msgid2, unsigned long int n)
95
{
96
  return libintl_dngettext (domainname, msgid1, msgid2, n);
97
}
98

    
99

    
100
DLL_EXPORTED
101
char *
102
dcngettext (const char *domainname,
103
            const char *msgid1, const char *msgid2, unsigned long int n,
104
            int category)
105
{
106
  return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
107
}
108

    
109

    
110
DLL_EXPORTED
111
char *
112
textdomain (const char *domainname)
113
{
114
  return libintl_textdomain (domainname);
115
}
116

    
117

    
118
DLL_EXPORTED
119
char *
120
bindtextdomain (const char *domainname, const char *dirname)
121
{
122
  return libintl_bindtextdomain (domainname, dirname);
123
}
124

    
125

    
126
DLL_EXPORTED
127
char *
128
bind_textdomain_codeset (const char *domainname, const char *codeset)
129
{
130
  return libintl_bind_textdomain_codeset (domainname, codeset);
131
}