- untangle the implementation of the small and huge last applets
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 22 May 2008 21:56:26 +0000 (21:56 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 22 May 2008 21:56:26 +0000 (21:56 -0000)
miscutils/Config.in
miscutils/Kbuild
miscutils/last.c
miscutils/last_fancy.c

index 427906ff8f4a79432334516431091c0141d2d6ae..dffde34dba92aec277cb54ed666b63f0c46ceb43 100644 (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"
index ba2a0dc148dd4bc3d90eac48493ff8cff9741a28..96e754e1baff3e036c9f49cff4eb948bace1f19b 100644 (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
index 2199d75246a9e955f0a5c662aea24a593f93ed51..af92e50cf74c39390eeab4054f17176e8a313695 100644 (file)
 #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
index 03df8dcdde0f27edc848ad8383da99166505f87d..91315d3386ae44c354cc61511a0a7ce704fbd157 100644 (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", ""