X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=miscutils%2Frunlevel.c;h=76231df228c76498c962c686af0180c7e633eeec;hb=577235dee826eed86d76b0d4ef866297a20ecd55;hp=df2da2b1f969ae6bffb5e3da55dddd48b1a72f10;hpb=febe3c421109032cdfb36249c54e314d39256ace;p=oweals%2Fbusybox.git diff --git a/miscutils/runlevel.c b/miscutils/runlevel.c index df2da2b1f..76231df22 100644 --- a/miscutils/runlevel.c +++ b/miscutils/runlevel.c @@ -1,30 +1,38 @@ /* vi: set sw=4 ts=4: */ /* - * runlevel Prints out the previous and the current runlevel. + * Prints out the previous and the current runlevel. * - * Version: @(#)runlevel 1.20 16-Apr-1997 MvS + * Version: @(#)runlevel 1.20 16-Apr-1997 MvS * - * This file is part of the sysvinit suite, - * Copyright 1991-1997 Miquel van Smoorenburg. + * This file is part of the sysvinit suite, + * Copyright 1991-1997 Miquel van Smoorenburg. * - * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. + * Licensed under GPLv2 or later, see file LICENSE in this source tree. * - * initially busyboxified by Bernhard Fischer + * initially busyboxified by Bernhard Reutner-Fischer */ -#include "busybox.h" -#include -#include -#include -#include +//usage:#define runlevel_trivial_usage +//usage: "[FILE]" +//usage:#define runlevel_full_usage "\n\n" +//usage: "Find the current and previous system runlevel\n" +//usage: "\n" +//usage: "If no utmp FILE exists or if no runlevel record can be found,\n" +//usage: "print \"unknown\"" +//usage: +//usage:#define runlevel_example_usage +//usage: "$ runlevel /var/run/utmp\n" +//usage: "N 2" -int runlevel_main(int argc, char **argv); -int runlevel_main(int argc, char **argv) +#include "libbb.h" + +int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +int runlevel_main(int argc UNUSED_PARAM, char **argv) { struct utmp *ut; char prev; - if (argc > 1) utmpname(argv[1]); + if (argv[1]) utmpname(argv[1]); setutent(); while ((ut = getutent()) != NULL) { @@ -32,12 +40,15 @@ int runlevel_main(int argc, char **argv) prev = ut->ut_pid / 256; if (prev == 0) prev = 'N'; printf("%c %c\n", prev, ut->ut_pid % 256); - endutent(); + if (ENABLE_FEATURE_CLEAN_UP) + endutent(); return 0; } } puts("unknown"); - endutent(); + + if (ENABLE_FEATURE_CLEAN_UP) + endutent(); return 1; }