diff options
author | Roy Marples <roy@marples.name> | 2008-04-06 20:06:07 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2008-04-06 20:06:07 +0000 |
commit | dcdfdb442f436cd1f1bdfdc46622f5d6f48f8061 (patch) | |
tree | 64ab72215c49e46a01224e272c3da1a4b2ef4868 /src | |
parent | 143239e143d57c550e949fb3fcc4540de7c8d354 (diff) |
Some systems are only detectable after /proc is mounted, so re-test if unknown.
Diffstat (limited to 'src')
-rw-r--r-- | src/rc/rc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rc/rc.c b/src/rc/rc.c index b305b2d1..5ae7e1f1 100644 --- a/src/rc/rc.c +++ b/src/rc/rc.c @@ -935,11 +935,13 @@ static void handle_bad_signal(int sig) static const struct option longopts[] = { { "override", 1, NULL, 'o' }, { "service", 1, NULL, 's' }, + { "sys", 0, NULL, 'S' }, longopts_COMMON }; static const char * const longopts_help[] = { "override the next runlevel to change into\nwhen leaving single user or boot runlevels", "runs the service specified with the rest\nof the arguments", + "output the RC system type, if any", longopts_help_COMMON }; #include "_usage.c" @@ -1028,6 +1030,12 @@ int main(int argc, char **argv) execv(*argv, argv); eerrorx("%s: %s", applet, strerror(errno)); /* NOTREACHED */ + case 'S': + bootlevel = rc_sys(); + if (bootlevel) + printf("%s\n", bootlevel); + exit(EXIT_SUCCESS); + /* NOTREACHED */ case_RC_COMMON_GETOPT } } |