]> git.ipfire.org Git - thirdparty/bash.git/blame - version.c
Bash-4.3 patch 7
[thirdparty/bash.git] / version.c
CommitLineData
726f6388
JA
1/* version.c -- distribution and version numbers. */
2
ac50fbac 3/* Copyright (C) 1989-2013 Free Software Foundation, Inc.
726f6388
JA
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
3185942a
JA
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
726f6388 11
3185942a
JA
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
726f6388 16
3185942a
JA
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
726f6388 20
f73dda09
JA
21#include <config.h>
22
ccc6cda3
JA
23#include <stdio.h>
24
f73dda09
JA
25#include "stdc.h"
26
726f6388 27#include "version.h"
f73dda09
JA
28#include "patchlevel.h"
29#include "conftypes.h"
726f6388 30
b80f6443
JA
31#include "bashintl.h"
32
ccc6cda3
JA
33extern char *shell_name;
34
35/* Defines from version.h */
3185942a
JA
36const char * const dist_version = DISTVERSION;
37const int patch_level = PATCHLEVEL;
38const int build_version = BUILDVERSION;
ccc6cda3 39#ifdef RELSTATUS
3185942a 40const char * const release_status = RELSTATUS;
ccc6cda3 41#else
3185942a 42const char * const release_status = (char *)0;
ccc6cda3 43#endif
3185942a
JA
44const char * const sccs_version = SCCSVERSION;
45
ac50fbac 46const char * const bash_copyright = N_("Copyright (C) 2013 Free Software Foundation, Inc.");
3185942a 47const char * const bash_license = N_("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
ccc6cda3 48
f1be666c 49/* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
3185942a 50int shell_compatibility_level = DEFAULT_COMPAT_LEVEL;
f1be666c 51
ccc6cda3
JA
52/* Functions for getting, setting, and displaying the shell version. */
53
b80f6443
JA
54/* Forward declarations so we don't have to include externs.h */
55extern char *shell_version_string __P((void));
56extern void show_shell_version __P((int));
57
ccc6cda3
JA
58/* Give version information about this shell. */
59char *
60shell_version_string ()
61{
62 static char tt[32] = { '\0' };
63
64 if (tt[0] == '\0')
65 {
66 if (release_status)
b80f6443
JA
67#if defined (HAVE_SNPRINTF)
68 snprintf (tt, sizeof (tt), "%s.%d(%d)-%s", dist_version, patch_level, build_version, release_status);
69#else
ccc6cda3 70 sprintf (tt, "%s.%d(%d)-%s", dist_version, patch_level, build_version, release_status);
b80f6443 71#endif
ccc6cda3 72 else
b80f6443
JA
73#if defined (HAVE_SNPRINTF)
74 snprintf (tt, sizeof (tt), "%s.%d(%d)", dist_version, patch_level, build_version);
75#else
ccc6cda3 76 sprintf (tt, "%s.%d(%d)", dist_version, patch_level, build_version);
b80f6443 77#endif
ccc6cda3
JA
78 }
79 return tt;
80}
81
ccc6cda3
JA
82void
83show_shell_version (extended)
84 int extended;
85{
3185942a 86 printf (_("GNU bash, version %s (%s)\n"), shell_version_string (), MACHTYPE);
ccc6cda3 87 if (extended)
3185942a
JA
88 {
89 printf ("%s\n", _(bash_copyright));
90 printf ("%s\n", _(bash_license));
ac50fbac
CR
91 printf ("%s\n", _("This is free software; you are free to change and redistribute it."));
92 printf ("%s\n", _("There is NO WARRANTY, to the extent permitted by law."));
3185942a 93 }
ccc6cda3 94}