diff options
author | Guy Harris <guy@alum.mit.edu> | 2014-07-03 01:45:32 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2014-07-03 08:46:01 +0000 |
commit | b4ce352539ec1e88a8002c65a38cc3029860c0e0 (patch) | |
tree | f2c702b2722c20464477e5f85cb5c80abab31915 /dumpcap.c | |
parent | d70e56a733a1d432dedc0dce7fbd992ef225d0c5 (diff) |
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 <guy@alum.mit.edu>
Diffstat (limited to 'dumpcap.c')
-rw-r--r-- | dumpcap.c | 66 |
1 files changed, 57 insertions, 9 deletions
@@ -556,14 +556,12 @@ print_usage(FILE *output) static void show_version(GString *comp_info_str, GString *runtime_info_str) { - printf( - "Dumpcap (Wireshark) %s\n" - "\n" - "%s\n" - "%s\n" - "%s\n" - "See http://www.wireshark.org for more information.\n", - get_ws_vcs_version_info(), get_copyright_info(), comp_info_str->str, runtime_info_str->str); + printf("Dumpcap (Wireshark) %s\n" + "\n" + "%s\n" + "%s\n" + "%s", + get_ws_vcs_version_info(), get_copyright_info(), comp_info_str->str, runtime_info_str->str); } /* @@ -4157,6 +4155,56 @@ out: } static void +get_dumpcap_compiled_info(GString *str) +{ + /* Libpcap */ + g_string_append(str, ", "); + get_compiled_pcap_version(str); + + /* LIBZ */ + g_string_append(str, ", "); +#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 */ + +#ifndef _WIN32 + /* This is UN*X-only. */ + /* LIBCAP */ + g_string_append(str, ", "); +#ifdef HAVE_LIBCAP + g_string_append(str, "with POSIX capabilities"); +#ifdef _LINUX_CAPABILITY_VERSION + g_string_append(str, " (Linux)"); +#endif /* _LINUX_CAPABILITY_VERSION */ +#else /* HAVE_LIBCAP */ + g_string_append(str, "without POSIX capabilities"); +#endif /* HAVE_LIBCAP */ +#endif /* _WIN32 */ + +#ifdef __linux__ + /* This is a Linux-specific library. */ + /* LIBNL */ + g_string_append(str, ", "); +#if defined(HAVE_LIBNL1) + g_string_append(str, "with libnl 1"); +#elif defined(HAVE_LIBNL2) + g_string_append(str, "with libnl 2"); +#elif defined(HAVE_LIBNL3) + g_string_append(str, "with libnl 3"); +#else /* no libnl */ + g_string_append(str, "without libnl"); +#endif /* libnl version */ +#endif /* __linux__ */ +} + +static void get_dumpcap_runtime_info(GString *str) { /* Libpcap */ @@ -4216,7 +4264,7 @@ 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, NULL); + get_compiled_version_info(comp_info_str, NULL, get_dumpcap_compiled_info); /* Assemble the run-time version information string */ runtime_info_str = g_string_new("Running "); |