- halt's -w depends on FEATURE_WTMP (Vladimir Dronnikov)

This commit is contained in:
Bernhard Reutner-Fischer 2008-09-01 15:24:52 +00:00
parent d129d7c3cd
commit d93179fd5b
2 changed files with 9 additions and 8 deletions

View File

@ -1424,7 +1424,7 @@
"-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
#define halt_trivial_usage \ #define halt_trivial_usage \
"[-d delay] [-n] [-f]" "[-d delay] [-n] [-f]" USE_FEATURE_WTMP(" [-w]")
#define halt_full_usage "\n\n" \ #define halt_full_usage "\n\n" \
"Halt the system\n" \ "Halt the system\n" \
"\nOptions:" \ "\nOptions:" \

View File

@ -20,16 +20,16 @@ int halt_main(int argc UNUSED_PARAM, char **argv)
{ {
static const int magic[] = { static const int magic[] = {
#ifdef RB_HALT_SYSTEM #ifdef RB_HALT_SYSTEM
RB_HALT_SYSTEM, RB_HALT_SYSTEM,
#elif defined RB_HALT #elif defined RB_HALT
RB_HALT, RB_HALT,
#endif #endif
#ifdef RB_POWER_OFF #ifdef RB_POWER_OFF
RB_POWER_OFF, RB_POWER_OFF,
#elif defined RB_POWERDOWN #elif defined RB_POWERDOWN
RB_POWERDOWN, RB_POWERDOWN,
#endif #endif
RB_AUTOBOOT RB_AUTOBOOT
}; };
static const smallint signals[] = { SIGUSR1, SIGUSR2, SIGTERM }; static const smallint signals[] = { SIGUSR1, SIGUSR2, SIGTERM };
@ -46,7 +46,7 @@ RB_AUTOBOOT
/* Parse and handle arguments */ /* Parse and handle arguments */
opt_complementary = "d+"; /* -d N */ opt_complementary = "d+"; /* -d N */
flags = getopt32(argv, "d:nfw", &delay); flags = getopt32(argv, "d:nf" USE_FEATURE_WTMP("w"), &delay);
sleep(delay); sleep(delay);
@ -63,10 +63,11 @@ RB_AUTOBOOT
if (uname(&uts) == 0) if (uname(&uts) == 0)
safe_strncpy(utmp.ut_host, uts.release, sizeof(utmp.ut_host)); safe_strncpy(utmp.ut_host, uts.release, sizeof(utmp.ut_host));
updwtmp(bb_path_wtmp_file, &utmp); updwtmp(bb_path_wtmp_file, &utmp);
#endif /* !ENABLE_FEATURE_WTMP */
if (flags & 8) /* -w */ if (flags & 8) /* -w */
return EXIT_SUCCESS; return EXIT_SUCCESS;
#endif /* !ENABLE_FEATURE_WTMP */
if (!(flags & 2)) /* no -n */ if (!(flags & 2)) /* no -n */
sync(); sync();