gettext.c revision 1.1.1.2
1/* Implementation of gettext(3) function.
2   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU General Public License as published by
6   the Free Software Foundation; either version 2, or (at your option)
7   any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12   GNU General Public License for more details.
13
14   You should have received a copy of the GNU General Public License
15   along with this program; if not, write to the Free Software Foundation,
16   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
17
18#ifdef HAVE_CONFIG_H
19# include <config.h>
20#endif
21
22#ifdef _LIBC
23# define __need_NULL
24# include <stddef.h>
25#else
26# ifdef STDC_HEADERS
27#  include <stdlib.h>		/* Just for NULL.  */
28# else
29#  ifdef HAVE_STRING_H
30#   include <string.h>
31#  else
32#   define NULL ((void *) 0)
33#  endif
34# endif
35#endif
36
37#ifdef _LIBC
38# include <libintl.h>
39#else
40# include "libgettext.h"
41#endif
42
43/* @@ end of prolog @@ */
44
45/* Names for the libintl functions are a problem.  They must not clash
46   with existing names and they should follow ANSI C.  But this source
47   code is also used in GNU C Library where the names have a __
48   prefix.  So we have to make a difference here.  */
49#ifdef _LIBC
50# define GETTEXT __gettext
51# define DGETTEXT __dgettext
52#else
53# define GETTEXT gettext__
54# define DGETTEXT dgettext__
55#endif
56
57/* Look up MSGID in the current default message catalog for the current
58   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
59   text).  */
60char *
61GETTEXT (msgid)
62     const char *msgid;
63{
64  return DGETTEXT (NULL, msgid);
65}
66
67#ifdef _LIBC
68/* Alias for function name in GNU C Library.  */
69weak_alias (__gettext, gettext);
70#endif
71