(root)/
gcc-13.2.0/
intl/
intl-compat.c
       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., 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 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 (msgid)
      62       const char *msgid;
      63  {
      64    return libintl_gettext (msgid);
      65  }
      66  
      67  
      68  DLL_EXPORTED
      69  char *
      70  dgettext (domainname, msgid)
      71       const char *domainname;
      72       const char *msgid;
      73  {
      74    return libintl_dgettext (domainname, msgid);
      75  }
      76  
      77  
      78  DLL_EXPORTED
      79  char *
      80  dcgettext (domainname, msgid, category)
      81       const char *domainname;
      82       const char *msgid;
      83       int category;
      84  {
      85    return libintl_dcgettext (domainname, msgid, category);
      86  }
      87  
      88  
      89  DLL_EXPORTED
      90  char *
      91  ngettext (msgid1, msgid2, n)
      92       const char *msgid1;
      93       const char *msgid2;
      94       unsigned long int n;
      95  {
      96    return libintl_ngettext (msgid1, msgid2, n);
      97  }
      98  
      99  
     100  DLL_EXPORTED
     101  char *
     102  dngettext (domainname, msgid1, msgid2, n)
     103       const char *domainname;
     104       const char *msgid1;
     105       const char *msgid2;
     106       unsigned long int n;
     107  {
     108    return libintl_dngettext (domainname, msgid1, msgid2, n);
     109  }
     110  
     111  
     112  DLL_EXPORTED
     113  char *
     114  dcngettext (domainname, msgid1, msgid2, n, category)
     115       const char *domainname;
     116       const char *msgid1;
     117       const char *msgid2;
     118       unsigned long int n;
     119       int category;
     120  {
     121    return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
     122  }
     123  
     124  
     125  DLL_EXPORTED
     126  char *
     127  textdomain (domainname)
     128       const char *domainname;
     129  {
     130    return libintl_textdomain (domainname);
     131  }
     132  
     133  
     134  DLL_EXPORTED
     135  char *
     136  bindtextdomain (domainname, dirname)
     137       const char *domainname;
     138       const char *dirname;
     139  {
     140    return libintl_bindtextdomain (domainname, dirname);
     141  }
     142  
     143  
     144  DLL_EXPORTED
     145  char *
     146  bind_textdomain_codeset (domainname, codeset)
     147       const char *domainname;
     148       const char *codeset;
     149  {
     150    return libintl_bind_textdomain_codeset (domainname, codeset);
     151  }