From 09e957eec11ac38a4c6dcef9012aa4ab8de9fb5b Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 17 Feb 2015 18:00:40 +0100 Subject: all: Add version information Signed-off-by: Tobias Klauser --- llmnrd.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'llmnrd.c') diff --git a/llmnrd.c b/llmnrd.c index 80cf6cc..79a237d 100644 --- a/llmnrd.c +++ b/llmnrd.c @@ -37,12 +37,13 @@ #include "llmnr.h" #include "llmnr-packet.h" -static const char *short_opts = "H:p:dh"; +static const char *short_opts = "H:p:dhV"; static const struct option long_opts[] = { { "hostname", required_argument, NULL, 'H' }, { "port", required_argument, NULL, 'p' }, { "daemonize", no_argument, NULL, 'd' }, { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, { NULL, 0, NULL, 0 }, }; @@ -53,11 +54,20 @@ static void __noreturn usage_and_exit(int status) " -H, --hostname set hostname to respond with (default: system hostname)\n" " -p, --port set port number to listen on (default: %d)\n" " -d, --daemonize run as daemon in the background\n" - " -h, --help show this help and exit\n", + " -h, --help show this help and exit\n" + " -V, --version show version information and exit\n", LLMNR_UDP_PORT); exit(status); } +static void __noreturn version_and_exit(void) +{ + fprintf(stdout, "llmnrd %s\n" + "Copyright (C) 2014-2015 Tobias Klauser \n" + "Licensed unter the GNU General Public License, version 2\n", VERSION_STRING); + exit(EXIT_SUCCESS); +} + static void signal_handler(int sig) { switch (sig) { @@ -114,11 +124,12 @@ int main(int argc, char **argv) return EXIT_FAILURE; } port = num_arg; + case 'V': + version_and_exit(); case 'h': - ret = EXIT_SUCCESS; - /* fall through */ + usage_and_exit(EXIT_SUCCESS); default: - usage_and_exit(ret); + usage_and_exit(EXIT_FAILURE); } } -- cgit v1.2.3-54-g00ecf