]>
Commit | Line | Data |
---|---|---|
c84142e8 | 1 | /* Implementation of gettext(3) function. |
abbffdf9 | 2 | Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc. |
24906b43 | 3 | |
c84142e8 UD |
4 | The GNU C Library is free software; you can redistribute it and/or |
5 | modify it under the terms of the GNU Library General Public License as | |
6 | published by the Free Software Foundation; either version 2 of the | |
7 | License, or (at your option) any later version. | |
0393dfd6 | 8 | |
c84142e8 UD |
9 | The GNU C Library 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 GNU | |
12 | Library General Public License for more details. | |
24906b43 | 13 | |
c84142e8 UD |
14 | You should have received a copy of the GNU Library General Public |
15 | License along with the GNU C Library; see the file COPYING.LIB. If not, | |
16 | write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
17 | Boston, MA 02111-1307, USA. */ | |
24906b43 RM |
18 | |
19 | #ifdef HAVE_CONFIG_H | |
20 | # include <config.h> | |
21 | #endif | |
22 | ||
23 | #ifdef _LIBC | |
24 | # define __need_NULL | |
25 | # include <stddef.h> | |
26 | #else | |
27 | # ifdef STDC_HEADERS | |
28 | # include <stdlib.h> /* Just for NULL. */ | |
29 | # else | |
30 | # ifdef HAVE_STRING_H | |
31 | # include <string.h> | |
32 | # else | |
75914335 | 33 | # define NULL ((void *) 0) |
24906b43 RM |
34 | # endif |
35 | # endif | |
36 | #endif | |
37 | ||
38 | #ifdef _LIBC | |
39 | # include <libintl.h> | |
40 | #else | |
41 | # include "libgettext.h" | |
42 | #endif | |
43 | ||
a1303dc8 UD |
44 | #include <locale.h> |
45 | ||
24906b43 RM |
46 | /* @@ end of prolog @@ */ |
47 | ||
48 | /* Names for the libintl functions are a problem. They must not clash | |
49 | with existing names and they should follow ANSI C. But this source | |
50 | code is also used in GNU C Library where the names have a __ | |
51 | prefix. So we have to make a difference here. */ | |
52 | #ifdef _LIBC | |
53 | # define GETTEXT __gettext | |
abbffdf9 | 54 | # define DCGETTEXT __dcgettext |
24906b43 RM |
55 | #else |
56 | # define GETTEXT gettext__ | |
abbffdf9 | 57 | # define DCGETTEXT dcgettext__ |
24906b43 RM |
58 | #endif |
59 | ||
60 | /* Look up MSGID in the current default message catalog for the current | |
61 | LC_MESSAGES locale. If not found, returns MSGID itself (the default | |
62 | text). */ | |
63 | char * | |
64 | GETTEXT (msgid) | |
65 | const char *msgid; | |
66 | { | |
abbffdf9 | 67 | return DCGETTEXT (NULL, msgid, LC_MESSAGES); |
24906b43 RM |
68 | } |
69 | ||
70 | #ifdef _LIBC | |
71 | /* Alias for function name in GNU C Library. */ | |
72 | weak_alias (__gettext, gettext); | |
73 | #endif |