From 505e05c245b29aa79efcd1f73d33d7c76cefb316 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 4 Feb 2009 15:57:03 +0000 Subject: pingu: added -V to print version --- Makefile | 3 +++ pingu.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index de1c586..0e633c2 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,9 @@ TARGETS = mtu pingu +VERSION = 0.2_pre1 + CFLAGS ?= -g +CFLAGS += -DPINGU_VERSION=\"$(VERSION)\" prefix = /usr BINDIR = $(prefix)/bin diff --git a/pingu.c b/pingu.c index 53011a9..8bc5eba 100644 --- a/pingu.c +++ b/pingu.c @@ -188,8 +188,14 @@ int do_ping(struct sockaddr_in *to, int seq, int retries, float timeout) return -1; } +static void print_version(const char *program) +{ + printf("%s " PINGU_VERSION "\n", program); +} + int usage(const char *program) { + print_version(program); fprintf(stderr, "usage: %s [-dh] [-c CONFIG] [-p PIDFILE]\n" "options:\n" " -c Read configuration from FILE (default is " @@ -198,6 +204,7 @@ int usage(const char *program) " -h Show this help\n" " -p Use PIDFILE as pidfile (default is " DEFAULT_PIDFILE ")\n" + " -V Print version and exit\n" "\n", program); return 1; @@ -305,7 +312,7 @@ int main(int argc, char *argv[]) struct provider_list providers; char *config_file = DEFAULT_CONFIG; - while ((c = getopt(argc, argv, "c:dhp:")) != -1) { + while ((c = getopt(argc, argv, "c:dhp:V")) != -1) { switch (c) { case 'c': config_file = optarg; @@ -315,10 +322,12 @@ int main(int argc, char *argv[]) break; case 'h': return usage(basename(argv[0])); - return; case 'p': pid_file = optarg; break; + case 'V': + print_version(basename(argv[0])); + return 0; } } -- cgit v1.2.3