annotate lib/version-etc.c @ 7048:a20a6a93ab74

Use the stdarg module.
author Bruno Haible <bruno@clisp.org>
date Tue, 25 Jul 2006 11:32:36 +0000
parents 6b31c8787689
children 8a1a9361108c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 /* Utility to help print --version output in a consistent format.
6527
6b31c8787689 Sync from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
2 Copyright (C) 1999-2006 Free Software Foundation, Inc.
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
3
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 the Free Software Foundation; either version 2, or (at your option)
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7 any later version.
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 GNU General Public License for more details.
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 along with this program; if not, write to the Free Software Foundation,
5848
a48fb0e98c8c *** empty log message ***
Paul Eggert <eggert@cs.ucla.edu>
parents: 5606
diff changeset
16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
17
1941
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
18 /* Written by Jim Meyering. */
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
19
6259
96c32553b4c6 Use a consistent style for including <config.h>.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5985
diff changeset
20 #ifdef HAVE_CONFIG_H
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
21 # include <config.h>
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22 #endif
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
24 /* Specification. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
25 #include "version-etc.h"
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
26
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
27 #include <stdarg.h>
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 #include <stdio.h>
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
29 #include <stdlib.h>
5318
7c24a825b51d Remove dependencies on unlocked-io.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5159
diff changeset
30
7c24a825b51d Remove dependencies on unlocked-io.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5159
diff changeset
31 #if USE_UNLOCKED_IO
7c24a825b51d Remove dependencies on unlocked-io.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5159
diff changeset
32 # include "unlocked-io.h"
7c24a825b51d Remove dependencies on unlocked-io.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5159
diff changeset
33 #endif
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34
3966
22d3032f0239 Include gettext.h instead of <libintl.h> with #ifdefs.
Bruno Haible <bruno@clisp.org>
parents: 3692
diff changeset
35 #include "gettext.h"
22d3032f0239 Include gettext.h instead of <libintl.h> with #ifdefs.
Bruno Haible <bruno@clisp.org>
parents: 3692
diff changeset
36 #define _(msgid) gettext (msgid)
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37
6527
6b31c8787689 Sync from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
38 enum { COPYRIGHT_YEAR = 2006 };
5985
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
39
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
40 /* Like version_etc, below, but with the NULL-terminated author list
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
41 provided via a variable of type va_list. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
42 void
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
43 version_etc_va (FILE *stream,
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
44 const char *command_name, const char *package,
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
45 const char *version, va_list authors)
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
46 {
5159
a535859efd14 Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4910
diff changeset
47 size_t n_authors;
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
48
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
49 /* Count the number of authors. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
50 {
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
51 va_list tmp_authors;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
52
7048
a20a6a93ab74 Use the stdarg module.
Bruno Haible <bruno@clisp.org>
parents: 6527
diff changeset
53 va_copy (tmp_authors, authors);
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
54
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
55 n_authors = 0;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
56 while (va_arg (tmp_authors, const char *) != NULL)
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
57 ++n_authors;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
58 }
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
59
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
60 if (command_name)
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
61 fprintf (stream, "%s (%s) %s\n", command_name, package, version);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
62 else
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
63 fprintf (stream, "%s %s\n", package, version);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
64
5985
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
65 /* TRANSLATORS: Translate "(C)" to the copyright symbol
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
66 (C-in-a-circle), if this symbol is available in the user's
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
67 locale. Otherwise, do not translate "(C)"; leave it as-is. */
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
68 fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR);
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
69
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
70 fputs (_("\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
71 \n\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
72 This is free software. You may redistribute copies of it under the terms of\n\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
73 the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
74 There is NO WARRANTY, to the extent permitted by law.\n\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
75 \n\
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
76 "),
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
77 stream);
d2208bf40bf8 * version-etc-fsf.c (version_etc_copyright): Parameterize the
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
78
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
79 switch (n_authors)
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
80 {
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
81 case 0:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
82 /* The caller must provide at least one author name. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
83 abort ();
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
84 case 1:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
85 /* TRANSLATORS: %s denotes an author name. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
86 vfprintf (stream, _("Written by %s.\n"), authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
87 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
88 case 2:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
89 /* TRANSLATORS: Each %s denotes an author name. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
90 vfprintf (stream, _("Written by %s and %s.\n"), authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
91 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
92 case 3:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
93 /* TRANSLATORS: Each %s denotes an author name. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
94 vfprintf (stream, _("Written by %s, %s, and %s.\n"), authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
95 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
96 case 4:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
97 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
98 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
99 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
100 vfprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"), authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
101 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
102 case 5:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
103 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
104 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
105 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
106 vfprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"), authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
107 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
108 case 6:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
109 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
110 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
111 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
112 vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"),
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
113 authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
114 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
115 case 7:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
116 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
117 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
118 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
119 vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"),
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
120 authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
121 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
122 case 8:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
123 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
124 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
125 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
126 vfprintf (stream, _("\
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
127 Written by %s, %s, %s,\n%s, %s, %s, %s,\nand %s.\n"),
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
128 authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
129 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
130 case 9:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
131 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
132 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
133 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
134 vfprintf (stream, _("\
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
135 Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, and %s.\n"),
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
136 authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
137 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
138 default:
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
139 /* 10 or more authors. Use an abbreviation, since the human reader
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
140 will probably not want to read the entire list anyway. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
141 /* TRANSLATORS: Each %s denotes an author name.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
142 You can use line breaks, estimating that each author name occupies
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
143 ca. 16 screen columns and that a screen line has ca. 80 columns. */
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
144 vfprintf (stream, _("\
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
145 Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, %s, and others.\n"),
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
146 authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
147 break;
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
148 }
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
149 va_end (authors);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
150 }
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
151
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
152
1941
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
153 /* Display the --version information the standard way.
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
154
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
155 If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
156 the program. The formats are therefore:
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
157
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
158 PACKAGE VERSION
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
159
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
160 or
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
161
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
162 COMMAND_NAME (PACKAGE) VERSION.
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
163
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
164 The author names are passed as separate arguments, with an additional
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
165 NULL argument at the end. */
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
166 void
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
167 version_etc (FILE *stream,
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
168 const char *command_name, const char *package,
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
169 const char *version, /* const char *author1, ...*/ ...)
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
170 {
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
171 va_list authors;
1941
0e058c7494a6 (version_etc_copyright): Default copyright string.
Jim Meyering <jim@meyering.net>
parents: 1842
diff changeset
172
4771
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
173 va_start (authors, version);
ffc6ac581833 Merge version-etc-2 back into version-etc: Better way to internationalize
Bruno Haible <bruno@clisp.org>
parents: 4133
diff changeset
174 version_etc_va (stream, command_name, package, version, authors);
1754
ddaa9b176f63 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
175 }