Mercurial > hg > octave-nkf > gnulib-hg
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 |
rev | line source |
---|---|
1754 | 1 /* Utility to help print --version output in a consistent format. |
6527 | 2 Copyright (C) 1999-2006 Free Software Foundation, Inc. |
1754 | 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, | |
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 | 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 | 21 # include <config.h> |
22 #endif | |
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 | 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 | 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 | 37 |
6527 | 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 | 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 | 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 | 166 void |
167 version_etc (FILE *stream, | |
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 | 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 | 175 } |