summaryrefslogtreecommitdiff
path: root/src/rc/rc-status.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-02-08 21:11:44 +0000
committerRoy Marples <roy@marples.name>2008-02-08 21:11:44 +0000
commit09ff8eeecd3e4c3819f3c3783c9a56d398cd8ec3 (patch)
tree8417ab169af648afa1e6f6b15a22b62c57bd4b4c /src/rc/rc-status.c
parent04b1a62c4b3d4269b357c1d12bbd8c68389f1ad4 (diff)
downloadopenrc-09ff8eeecd3e4c3819f3c3783c9a56d398cd8ec3.tar.gz
openrc-09ff8eeecd3e4c3819f3c3783c9a56d398cd8ec3.tar.bz2
openrc-09ff8eeecd3e4c3819f3c3783c9a56d398cd8ec3.tar.xz
rc-status -r now shows the current runlevel name.
Diffstat (limited to 'src/rc/rc-status.c')
-rw-r--r--src/rc/rc-status.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rc/rc-status.c b/src/rc/rc-status.c
index 5c7f1c6..9d73adb 100644
--- a/src/rc/rc-status.c
+++ b/src/rc/rc-status.c
@@ -94,10 +94,11 @@ static void print_service (char *service)
#include "_usage.h"
#define extraopts "[runlevel1] [runlevel2] ..."
-#define getoptstring "alsu" getoptstring_COMMON
+#define getoptstring "alrsu" getoptstring_COMMON
static const struct option longopts[] = {
{"all", 0, NULL, 'a'},
{"list", 0, NULL, 'l'},
+ {"runlevel", 0, NULL, 'r'},
{"servicelist", 0, NULL, 's'},
{"unused", 0, NULL, 'u'},
longopts_COMMON
@@ -105,6 +106,7 @@ static const struct option longopts[] = {
static const char * const longopts_help[] = {
"Show services from all run levels",
"Show list of run levels",
+ "Show the name of the current runlevel",
"Show service list",
"Show services not assigned to any runlevel",
longopts_help_COMMON
@@ -137,6 +139,12 @@ int rc_status (int argc, char **argv)
rc_strlist_free (levels);
exit (EXIT_SUCCESS);
/* NOTREACHED */
+ case 'r':
+ level = rc_runlevel_get ();
+ printf ("%s\n", level);
+ free (level);
+ exit (EXIT_SUCCESS);
+ /* NOTREACHED */
case 's':
services = rc_services_in_runlevel (NULL);
STRLIST_FOREACH (services, service, i)