- untangle the implementation of the small and huge last applets

This commit is contained in:
Bernhard Reutner-Fischer 2008-05-22 21:56:26 +00:00
parent a959a2abdd
commit 69d5ba2f95
4 changed files with 22 additions and 12 deletions

View File

@ -229,13 +229,23 @@ config LAST
help
'last' displays a list of the last users that logged into the system.
config FEATURE_LAST_FANCY
bool "Fancy output"
default n
choice
prompt "Choose last implementation"
depends on LAST
default FEATURE_LAST_SMALL
config FEATURE_LAST_SMALL
bool "small"
help
This is a small version of last with just the basic set of
features.
config FEATURE_LAST_FANCY
bool "huge"
help
'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes.
endchoice
config LESS
bool "less"

View File

@ -16,7 +16,8 @@ lib-$(CONFIG_DEVFSD) += devfsd.o
lib-$(CONFIG_EJECT) += eject.o
lib-$(CONFIG_FBSPLASH) += fbsplash.o
lib-$(CONFIG_HDPARM) += hdparm.o
lib-$(CONFIG_LAST) += last.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o
lib-$(CONFIG_MAKEDEVS) += makedevs.o
lib-$(CONFIG_MAN) += man.o

View File

@ -26,12 +26,6 @@
#error struct utmp member char[] size(s) have changed!
#endif
#if ENABLE_FEATURE_LAST_FANCY
#include "last_fancy.c"
#else
#if EMPTY != 0 || RUN_LVL != 1 || BOOT_TIME != 2 || NEW_TIME != 3 || \
OLD_TIME != 4
#error Values for the ut_type field of struct utmp changed
@ -131,5 +125,3 @@ int last_main(int argc, char **argv ATTRIBUTE_UNUSED)
fflush_stdout_and_exit(EXIT_SUCCESS);
}
#endif

View File

@ -7,6 +7,13 @@
* Licensed under the GPLv2 or later, see the file LICENSE in this tarball.
*/
#include "libbb.h"
#include <utmp.h>
#ifndef SHUTDOWN_TIME
# define SHUTDOWN_TIME 254
#endif
#define HEADER_FORMAT "%-8.8s %-12.12s %-*.*s %-16.16s %-7.7s %s\n"
#define HEADER_LINE "USER", "TTY", \
INET_ADDRSTRLEN, INET_ADDRSTRLEN, "HOST", "LOGIN", " TIME", ""