Include unlocked-io.h.
[gnulib.git] / lib / version-etc.c
1 /* Utility to help print --version output in a consistent format.
2    Copyright (C) 1999, 2000, 2001 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 /* Written by Jim Meyering. */
19
20 #if HAVE_CONFIG_H
21 # include <config.h>
22 #endif
23
24 #include <stdio.h>
25 #include "unlocked-io.h"
26 #include "version-etc.h"
27
28 #if ENABLE_NLS
29 # include <libintl.h>
30 # define _(Text) gettext (Text)
31 #else
32 # define _(Text) Text
33 #endif
34
35 /* Default copyright goes to the FSF. */
36
37 char* version_etc_copyright =
38   /* Do *not* mark this string for translation.  */
39   "Copyright (C) 2001 Free Software Foundation, Inc.";
40
41
42 /* Display the --version information the standard way.
43
44    If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of
45    the program.  The formats are therefore:
46
47    PACKAGE VERSION
48
49    or
50
51    COMMAND_NAME (PACKAGE) VERSION.  */
52 void
53 version_etc (FILE *stream,
54              const char *command_name, const char *package,
55              const char *version, const char *authors)
56 {
57   if (command_name)
58     fprintf (stream, "%s (%s) %s\n", command_name, package, version);
59   else
60     fprintf (stream, "%s %s\n", package, version);
61   fprintf (stream, _("Written by %s.\n"), authors);
62   putc ('\n', stream);
63
64   fputs (version_etc_copyright, stream);
65   putc ('\n', stream);
66
67   fputs (_("\
68 This is free software; see the source for copying conditions.  There is NO\n\
69 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"),
70          stream);
71 }