From b4ce352539ec1e88a8002c65a38cc3029860c0e0 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Thu, 3 Jul 2014 01:45:32 -0700 Subject: Make --help and --version information a bit more uniform. Have --version print the version number, the copyright information, the "compiled with" information, the "running on/with" information, and the compiler information. Have --help print the version number, a one-line summary of what the program does, a reference to http://www.wireshark.org for more information, a Usage: line, and a list of command-line options. This means programs doing that don't need to include version.h; that's left up to get_ws_vcs_version_info() to do. Change-Id: Idac641bc10e4dfd04c9914d379b3a3e0cc5ca8cb Reviewed-on: https://code.wireshark.org/review/2794 Reviewed-by: Guy Harris --- tfshark.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'tfshark.c') diff --git a/tfshark.c b/tfshark.c index 791e55ca12..e67dbd1c0c 100644 --- a/tfshark.c +++ b/tfshark.c @@ -50,6 +50,10 @@ # include #endif +#ifdef HAVE_LIBZ +#include /* to get the libz version number */ +#endif + #ifndef HAVE_GETOPT #include "wsutil/wsgetopt.h" #endif @@ -745,6 +749,34 @@ show_version(GString *comp_info_str, GString *runtime_info_str) runtime_info_str->str); } +static void +get_tfshark_compiled_version_info(GString *str) +{ + /* LIBZ */ +#ifdef HAVE_LIBZ + g_string_append(str, "with libz "); +#ifdef ZLIB_VERSION + g_string_append(str, ZLIB_VERSION); +#else /* ZLIB_VERSION */ + g_string_append(str, "(version unknown)"); +#endif /* ZLIB_VERSION */ +#else /* HAVE_LIBZ */ + g_string_append(str, "without libz"); +#endif /* HAVE_LIBZ */ +} + +static void +get_tfshark_runtime_version_info(GString *str) +{ + /* zlib */ +#if defined(HAVE_LIBZ) && !defined(_WIN32) + g_string_append_printf(str, ", with libz %s", zlibVersion()); +#endif + + /* stuff used by libwireshark */ + epan_get_runtime_version_info(str); +} + int main(int argc, char *argv[]) { @@ -817,11 +849,12 @@ main(int argc, char *argv[]) /* Assemble the compile-time version information string */ comp_info_str = g_string_new("Compiled "); - get_compiled_version_info(comp_info_str, NULL, epan_get_compiled_version_info); + get_compiled_version_info(comp_info_str, get_tfshark_compiled_version_info, + epan_get_compiled_version_info); /* Assemble the run-time version information string */ runtime_info_str = g_string_new("Running "); - get_runtime_version_info(runtime_info_str, NULL); + get_runtime_version_info(runtime_info_str, get_tfshark_runtime_version_info); /* Add it to the information to be reported on a crash. */ ws_add_crash_info("TFShark (Wireshark) %s\n" -- cgit v1.2.1