]>
Commit | Line | Data |
---|---|---|
726f6388 JA |
1 | /* version.c -- distribution and version numbers. */ |
2 | ||
a0c0a00f | 3 | /* Copyright (C) 1989-2016 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 |
33 | extern char *shell_name; |
34 | ||
35 | /* Defines from version.h */ | |
3185942a JA |
36 | const char * const dist_version = DISTVERSION; |
37 | const int patch_level = PATCHLEVEL; | |
38 | const int build_version = BUILDVERSION; | |
ccc6cda3 | 39 | #ifdef RELSTATUS |
3185942a | 40 | const char * const release_status = RELSTATUS; |
ccc6cda3 | 41 | #else |
3185942a | 42 | const char * const release_status = (char *)0; |
ccc6cda3 | 43 | #endif |
3185942a JA |
44 | const char * const sccs_version = SCCSVERSION; |
45 | ||
a0c0a00f | 46 | const char * const bash_copyright = N_("Copyright (C) 2016 Free Software Foundation, Inc."); |
3185942a | 47 | const 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 | 50 | int 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 */ |
55 | extern char *shell_version_string __P((void)); | |
56 | extern void show_shell_version __P((int)); | |
57 | ||
ccc6cda3 JA |
58 | /* Give version information about this shell. */ |
59 | char * | |
60 | shell_version_string () | |
61 | { | |
62 | static char tt[32] = { '\0' }; | |
63 | ||
64 | if (tt[0] == '\0') | |
65 | { | |
66 | if (release_status) | |
a0c0a00f | 67 | #if HAVE_SNPRINTF |
b80f6443 JA |
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 |
a0c0a00f | 73 | #if HAVE_SNPRINTF |
b80f6443 JA |
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 |
82 | void |
83 | show_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 | } |