aboutsummaryrefslogtreecommitdiff
path: root/libdiskfs/opts-version.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/opts-version.c')
-rw-r--r--libdiskfs/opts-version.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/libdiskfs/opts-version.c b/libdiskfs/opts-version.c
index 0e9d4098..c26334b2 100644
--- a/libdiskfs/opts-version.c
+++ b/libdiskfs/opts-version.c
@@ -20,6 +20,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+#include <stdio.h>
+#include <argp.h>
+#include <version.h>
+
#include "priv.h"
static void
@@ -28,12 +32,15 @@ _print_version (FILE *stream, struct argp_state *state)
if (argp_program_version)
/* If this is non-zero, then the program's probably defined it, so let
that take precedence over the default. */
- fprintf (stream, "%s\n", argp_program_version);
+ fputs (argp_program_version, stream);
+ else if (diskfs_extra_version && *diskfs_extra_version)
+ fprintf (stream, "%s (%s) %s\n",
+ diskfs_server_name, diskfs_extra_version, diskfs_server_version);
else
- /* Construct a version using the standard diskfs variables. */
- fprintf (stream, "%s %d.%d (GNU %s)\n",
- diskfs_server_name, diskfs_major_version, diskfs_minor_version,
- HURD_RELEASE);
+ fprintf (stream, "%s %s\n", diskfs_server_name, diskfs_server_version);
+
+ /* And because diskfs is big and huge, put our information out too. */
+ fputs (STANDARD_HURD_VERSION (libdiskfs) "\n", stream);
}
void (*argp_program_version_hook) (FILE *stream, struct argp_state *state)