Home | History | Annotate | Line # | Download | only in intl
intl-compat.c revision 1.1
      1 /*	$NetBSD: intl-compat.c,v 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