public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "William Hubbs" <williamh@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/openrc:master commit in: src/rc/
Date: Tue, 15 Feb 2011 00:50:06 +0000 (UTC)	[thread overview]
Message-ID: <73d1a8698e101b1dcf589b27b35ac9b09ea6d02c.williamH@gentoo> (raw)

commit:     73d1a8698e101b1dcf589b27b35ac9b09ea6d02c
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 13 01:15:29 2011 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Feb 15 00:40:05 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=commit;h=73d1a869

make version option common

This reworks the code for the version option so that it is part of the
parser loop and is a common option to all applets.

---
 src/rc/_usage.c |   20 +++++++++++++++++++-
 src/rc/_usage.h |    8 ++++++--
 src/rc/rc.c     |   16 ++--------------
 3 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/src/rc/_usage.c b/src/rc/_usage.c
index ec1ce1d..175634a 100644
--- a/src/rc/_usage.c
+++ b/src/rc/_usage.c
@@ -1,7 +1,7 @@
 /*
  * Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
  * All rights reserved
-
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -24,6 +24,8 @@
  * SUCH DAMAGE.
  */
 
+#include "version.h"
+
 #if lint
 #  define _noreturn
 #endif
@@ -34,6 +36,22 @@
 #endif
 
 _noreturn static void
+show_version(void)
+{
+	const char *bootlevel = NULL;
+
+	printf("%s (OpenRC", applet);
+	if ((bootlevel = rc_sys()))
+		printf(" [%s]", bootlevel);
+	printf(") %s", VERSION);
+#ifdef BRANDING
+	printf(" (%s)", BRANDING);
+#endif
+	printf("\n");
+	exit(EXIT_SUCCESS);
+}
+
+_noreturn static void
 usage(int exit_status)
 {
 	const char * const has_arg[] = { "", "<arg>", "[arg]" };

diff --git a/src/rc/_usage.h b/src/rc/_usage.h
index d65e05e..5e116c9 100644
--- a/src/rc/_usage.h
+++ b/src/rc/_usage.h
@@ -1,7 +1,7 @@
 /*
  * Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
  * All rights reserved
-
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -24,11 +24,12 @@
  * SUCH DAMAGE.
  */
 
-#define getoptstring_COMMON "Chqv"
+#define getoptstring_COMMON "ChqVv"
 
 #define longopts_COMMON							      \
 	{ "help",           0, NULL, 'h'},				      \
 	{ "nocolor",        0, NULL, 'C'},				      \
+	{ "version",        0, NULL, 'V'},				      \
 	{ "verbose",        0, NULL, 'v'},				      \
 	{ "quiet",          0, NULL, 'q'},				      \
 	{ NULL,             0, NULL,  0 }
@@ -36,11 +37,13 @@
 #define longopts_help_COMMON						      \
 	"Display this help output",					      \
 	"Disable color output",						      \
+	"Display software version",			              \
 	"Run verbosely",						      \
 	"Run quietly"
 
 #define case_RC_COMMON_getopt_case_C  setenv ("EINFO_COLOR", "NO", 1);
 #define case_RC_COMMON_getopt_case_h  usage (EXIT_SUCCESS);
+#define case_RC_COMMON_getopt_case_V  if (argc == 2) show_version();
 #define case_RC_COMMON_getopt_case_v  setenv ("EINFO_VERBOSE", "YES", 1);
 #define case_RC_COMMON_getopt_case_q  setenv ("EINFO_QUIET", "YES", 1);
 #define case_RC_COMMON_getopt_default usage (EXIT_FAILURE);
@@ -48,6 +51,7 @@
 #define case_RC_COMMON_GETOPT						      \
 	case 'C': case_RC_COMMON_getopt_case_C; break;			      \
 	case 'h': case_RC_COMMON_getopt_case_h; break;			      \
+	case 'V': case_RC_COMMON_getopt_case_V; break;			      \
 	case 'v': case_RC_COMMON_getopt_case_v; break;			      \
 	case 'q': case_RC_COMMON_getopt_case_q; break;			      \
 	default:  case_RC_COMMON_getopt_default; break;

diff --git a/src/rc/rc.c b/src/rc/rc.c
index bdda2ef..525ccdc 100644
--- a/src/rc/rc.c
+++ b/src/rc/rc.c
@@ -837,18 +837,6 @@ main(int argc, char **argv)
 	if (!applet)
 		eerrorx("arguments required");
 
-	if (argc > 1 && (strcmp(argv[1], "--version") == 0)) {
-		printf("%s (OpenRC", applet);
-		if ((bootlevel = rc_sys()))
-			printf(" [%s]", bootlevel);
-		printf(") " VERSION
-#ifdef BRANDING
-		    " (" BRANDING ")"
-#endif
-		    "\n");
-		exit(EXIT_SUCCESS);
-	}
-
 	/* Run our built in applets. If we ran one, we don't return. */
 	run_applets(argc, argv);
 
@@ -905,8 +893,8 @@ main(int argc, char **argv)
 			}
 			exit(EXIT_SUCCESS);
 			/* NOTREACHED */
-			case_RC_COMMON_GETOPT
-			    }
+		case_RC_COMMON_GETOPT
+		}
 	}
 
 	newlevel = argv[optind++];



             reply	other threads:[~2011-02-15  0:50 UTC|newest]

Thread overview: 257+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-15  0:50 William Hubbs [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-11-06  3:38 [gentoo-commits] proj/openrc:master commit in: src/rc/ William Hubbs
2018-11-06  3:38 William Hubbs
2018-11-02 23:24 William Hubbs
2018-11-02 23:24 William Hubbs
2018-10-15 16:52 William Hubbs
2018-10-15 16:52 William Hubbs
2018-10-09 16:35 William Hubbs
2018-10-06 18:03 William Hubbs
2018-10-06 18:03 William Hubbs
2018-06-29 20:32 William Hubbs
2018-06-28 18:03 William Hubbs
2018-06-20 14:38 William Hubbs
2018-06-19 23:00 William Hubbs
2018-06-19 23:00 William Hubbs
2018-06-19 22:07 William Hubbs
2018-06-19 21:34 William Hubbs
2018-06-19 21:34 William Hubbs
2018-06-19 21:34 William Hubbs
2018-06-19 21:34 William Hubbs
2018-06-14 19:56 William Hubbs
2018-06-13 21:28 William Hubbs
2018-05-22 22:12 William Hubbs
2018-05-22 22:12 William Hubbs
2018-05-22 22:12 William Hubbs
2018-05-15 22:11 William Hubbs
2018-05-15 22:11 William Hubbs
2018-05-15  0:11 William Hubbs
2018-05-15  0:11 William Hubbs
2018-05-11 18:19 William Hubbs
2018-05-09 22:35 William Hubbs
2018-05-07 23:21 William Hubbs
2018-05-07 23:21 William Hubbs
2018-03-15  1:43 William Hubbs
2018-03-12  2:43 William Hubbs
2018-02-28 18:45 William Hubbs
2018-02-26 20:34 William Hubbs
2018-02-26 19:15 William Hubbs
2018-02-26 19:15 William Hubbs
2018-02-26 18:23 William Hubbs
2018-02-24 23:03 William Hubbs
2018-02-24 23:03 William Hubbs
2018-02-22 22:17 William Hubbs
2018-02-22 18:55 William Hubbs
2018-02-22  0:17 William Hubbs
2018-02-22  0:17 William Hubbs
2018-02-22  0:17 William Hubbs
2018-02-21 19:50 William Hubbs
2018-02-20 22:36 William Hubbs
2018-02-20 22:36 William Hubbs
2018-02-20 22:36 William Hubbs
2018-02-16 20:07 William Hubbs
2018-02-16 20:07 William Hubbs
2018-02-16 20:07 William Hubbs
2018-02-14 23:37 William Hubbs
2018-02-14 23:37 William Hubbs
2018-01-24 23:44 William Hubbs
2018-01-23 23:08 William Hubbs
2018-01-16 19:36 William Hubbs
2018-01-16 19:14 William Hubbs
2018-01-09 23:35 William Hubbs
2017-11-29 21:12 William Hubbs
2017-11-28 23:17 William Hubbs
2017-11-28 23:17 William Hubbs
2017-11-07 21:33 William Hubbs
2017-11-07 21:33 William Hubbs
2017-11-07 21:33 William Hubbs
2017-11-07 21:33 William Hubbs
2017-10-26 22:01 William Hubbs
2017-10-26 18:58 William Hubbs
2017-10-26 18:58 William Hubbs
2017-10-26 18:58 William Hubbs
2017-10-25 20:10 William Hubbs
2017-10-18 23:09 William Hubbs
2017-10-05 23:31 William Hubbs
2017-09-22 22:25 William Hubbs
2017-09-18 18:31 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-18 18:07 William Hubbs
2017-09-15 18:31 William Hubbs
2017-09-06 22:33 William Hubbs
2017-08-25 16:48 William Hubbs
2017-08-24 16:45 William Hubbs
2017-07-24 23:27 William Hubbs
2017-06-12 15:41 William Hubbs
2017-06-12 15:41 William Hubbs
2017-06-07 16:34 William Hubbs
2017-05-30 21:25 William Hubbs
2017-05-30 21:25 William Hubbs
2017-05-22 16:30 William Hubbs
2017-05-19 23:30 William Hubbs
2017-05-16  0:00 William Hubbs
2017-05-16  0:00 William Hubbs
2017-05-12  2:42 William Hubbs
2017-05-12  2:42 William Hubbs
2017-05-12  2:42 William Hubbs
2017-05-11 16:38 William Hubbs
2017-04-29 22:56 William Hubbs
2017-04-29 22:56 William Hubbs
2017-04-29 22:56 William Hubbs
2017-04-29 14:44 William Hubbs
2017-04-17 17:24 William Hubbs
2017-04-13 17:56 William Hubbs
2017-04-07 12:43 William Hubbs
2017-04-03 15:45 William Hubbs
2017-01-25 23:58 William Hubbs
2017-01-05  0:24 William Hubbs
2017-01-04 23:23 William Hubbs
2016-11-30 22:49 William Hubbs
2016-11-03 16:13 William Hubbs
2016-10-24 17:48 William Hubbs
2016-10-24 17:43 William Hubbs
2016-10-11 15:31 William Hubbs
2016-09-30 22:10 William Hubbs
2016-09-19 17:10 William Hubbs
2016-09-16 13:58 William Hubbs
2016-09-16 13:58 William Hubbs
2016-08-25 16:17 William Hubbs
2016-07-25 18:54 William Hubbs
2016-07-16 20:17 William Hubbs
2016-07-14 17:25 William Hubbs
2016-06-10 22:45 William Hubbs
2016-05-24 16:43 William Hubbs
2016-05-24 16:43 William Hubbs
2016-05-13 18:00 William Hubbs
2016-05-13 17:12 William Hubbs
2016-05-04 23:24 William Hubbs
2016-04-11 16:18 William Hubbs
2016-02-12 18:58 William Hubbs
2016-01-22 18:53 William Hubbs
2016-01-20 17:29 William Hubbs
2016-01-19  6:12 William Hubbs
2016-01-19  6:12 William Hubbs
2016-01-19  6:12 William Hubbs
2016-01-14 17:33 William Hubbs
2016-01-14 17:33 William Hubbs
2016-01-14 17:33 William Hubbs
2016-01-14 17:33 William Hubbs
2016-01-12 20:12 William Hubbs
2015-12-06  0:14 William Hubbs
2015-12-02 21:46 William Hubbs
2015-10-13 13:36 William Hubbs
2015-10-05 15:27 William Hubbs
2015-10-04 20:37 William Hubbs
2015-09-18 17:45 William Hubbs
2015-08-02 14:12 William Hubbs
2015-07-23 17:48 William Hubbs
2015-04-24 18:13 William Hubbs
2015-03-25 13:36 William Hubbs
2015-03-25  6:10 William Hubbs
2015-03-25  4:38 William Hubbs
2015-03-24 20:53 William Hubbs
2015-03-24 20:40 William Hubbs
2015-02-19 21:16 William Hubbs
2015-02-15 22:15 William Hubbs
2015-02-15 22:10 William Hubbs
2015-01-22 18:54 William Hubbs
2014-09-20 21:52 William Hubbs
2014-08-22 19:10 William Hubbs
2014-07-25 16:06 ` William Hubbs
2014-08-22 19:10 William Hubbs
2014-08-11 18:18 ` William Hubbs
2014-07-28 15:51 William Hubbs
2014-08-22 19:10 ` William Hubbs
2014-07-19 18:06 William Hubbs
2014-07-18  4:47 William Hubbs
2014-07-16 23:01 William Hubbs
2014-07-16 23:01 William Hubbs
2014-07-16 19:48 William Hubbs
2014-07-16 19:17 William Hubbs
2014-07-16 18:14 William Hubbs
2014-07-13 19:16 William Hubbs
2014-07-11 20:24 William Hubbs
2014-07-11 20:19 William Hubbs
2014-01-18 20:02 William Hubbs
2013-12-13 18:20 William Hubbs
2013-12-13 18:05 William Hubbs
2013-12-01 17:25 William Hubbs
2013-10-12 14:50 William Hubbs
2013-10-06 17:36 William Hubbs
2013-10-04 16:23 William Hubbs
2013-09-24  6:52 William Hubbs
2013-09-23 22:59 William Hubbs
2013-09-23 18:38 William Hubbs
2013-09-23 18:38 William Hubbs
2013-09-04  0:46 William Hubbs
2013-08-26 22:26 William Hubbs
2013-08-26 20:59 William Hubbs
2013-07-23 23:01 William Hubbs
2013-07-16 18:56 William Hubbs
2013-05-01 23:24 William Hubbs
2013-02-25 20:50 William Hubbs
2013-02-25 20:50 William Hubbs
2013-02-25 20:50 William Hubbs
2013-02-25 20:50 William Hubbs
2013-02-15 19:35 William Hubbs
2012-10-27 18:12 William Hubbs
2012-10-24 17:38 William Hubbs
2012-10-17 23:48 William Hubbs
2012-10-09 23:56 William Hubbs
2012-10-09 21:50 William Hubbs
2012-09-14 21:00 Christian Ruppert
2012-09-12 19:36 Christian Ruppert
2012-09-12 19:00 Christian Ruppert
2012-08-18 22:26 Christian Ruppert
2012-08-18 21:26 Christian Ruppert
2012-05-23 23:31 Mike Frysinger
2012-05-16 22:16 Mike Frysinger
2012-05-06  5:16 Mike Frysinger
2012-04-24  3:32 Christian Ruppert
2012-02-24  2:38 William Hubbs
2012-02-21  2:09 William Hubbs
2012-02-21  1:08 Jory Pratt
2012-02-12  1:23 Christian Ruppert
2012-02-10 23:25 Christian Ruppert
2012-01-31 22:59 William Hubbs
2012-01-28 18:05 Christian Ruppert
2012-01-28 15:45 Christian Ruppert
2012-01-24 18:41 Christian Ruppert
2012-01-23 10:27 Robin H. Johnson
2012-01-23 10:27 Robin H. Johnson
2012-01-23  5:27 Robin H. Johnson
2012-01-22 20:46 William Hubbs
2011-12-31  2:36 Christian Ruppert
2011-12-30 15:03 Christian Ruppert
2011-12-30 15:03 Christian Ruppert
2011-12-29 12:59 Christian Ruppert
2011-12-29  2:18 Christian Ruppert
2011-12-29  2:10 Christian Ruppert
2011-12-29  1:50 Christian Ruppert
2011-12-11 20:43 William Hubbs
2011-11-19  8:11 Mike Frysinger
2011-11-19  8:11 Mike Frysinger
2011-11-19  8:11 Mike Frysinger
2011-11-17 22:10 William Hubbs
2011-11-15 21:26 William Hubbs
2011-11-09  5:10 Mike Frysinger
2011-09-08 17:22 Christian Ruppert
2011-09-08 17:22 Christian Ruppert
2011-09-02 16:47 William Hubbs
2011-09-01 22:14 William Hubbs
2011-07-26 21:59 William Hubbs
2011-07-20 19:40 William Hubbs
2011-07-05 22:52 Christian Ruppert
2011-07-04 22:54 Christian Ruppert
2011-06-30 18:21 Christian Ruppert
2011-06-27 21:21 Christian Ruppert
2011-06-05 14:52 Christian Ruppert
2011-05-28 16:12 Mike Frysinger
2011-05-28 15:42 Mike Frysinger
2011-05-23 19:25 William Hubbs
2011-02-16 15:02 William Hubbs
2011-02-07  8:30 William Hubbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=73d1a8698e101b1dcf589b27b35ac9b09ea6d02c.williamH@gentoo \
    --to=williamh@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox