annotate intl/ngettext.c @ 358:70075730e187 trunk

[svn] Checking path for NULL wont work in the for() loop, so we have to check elsewhere. It'd be nice if file managers would all obey the same standard.
author nenolod
date Fri, 30 Dec 2005 14:17:35 -0800
parents cb178e5ad177
children f12d7e208b43
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
1 /* Implementation of ngettext(3) function.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
2 Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
3
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify it
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
5 under the terms of the GNU Library General Public License as published
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
6 by the Free Software Foundation; either version 2, or (at your option)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
7 any later version.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
8
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
12 Library General Public License for more details.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
13
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
14 You should have received a copy of the GNU Library General Public
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
15 License along with this program; if not, write to the Free Software
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
17 USA. */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
18
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
19 #ifdef HAVE_CONFIG_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
20 # include <config.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
21 #endif
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
22
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 #ifdef _LIBC
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24 # define __need_NULL
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
25 # include <stddef.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
26 #else
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27 # include <stdlib.h> /* Just for NULL. */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28 #endif
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30 #include "gettextP.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 #ifdef _LIBC
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 # include <libintl.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 #else
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34 # include "libgnuintl.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 #endif
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
36
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
37 #include <locale.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
38
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
39 /* @@ end of prolog @@ */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
40
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
41 /* Names for the libintl functions are a problem. They must not clash
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
42 with existing names and they should follow ANSI C. But this source
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
43 code is also used in GNU C Library where the names have a __
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 prefix. So we have to make a difference here. */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 #ifdef _LIBC
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 # define NGETTEXT __ngettext
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 # define DCNGETTEXT __dcngettext
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 #else
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 # define NGETTEXT libintl_ngettext
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
50 # define DCNGETTEXT libintl_dcngettext
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
51 #endif
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
52
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
53 /* Look up MSGID in the current default message catalog for the current
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
54 LC_MESSAGES locale. If not found, returns MSGID itself (the default
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
55 text). */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
56 char *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
57 NGETTEXT (msgid1, msgid2, n)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
58 const char *msgid1;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
59 const char *msgid2;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
60 unsigned long int n;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61 {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62 return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
63 }
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
64
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
65 #ifdef _LIBC
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
66 /* Alias for function name in GNU C Library. */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67 weak_alias (__ngettext, ngettext);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68 #endif