X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=miscutils%2Flast.c;h=fd1033bf7c493a651ad54a0afb3343e63491c5ea;hb=2f6df7fa0a70810d70e8ca0816b64c0f40b76847;hp=ac6c86c63525ce358e15d2b837c5c5aff94c2bc0;hpb=f284c767e5e8d138589f760d03dc2c681f326b25;p=oweals%2Fbusybox.git diff --git a/miscutils/last.c b/miscutils/last.c index ac6c86c63..fd1033bf7 100644 --- a/miscutils/last.c +++ b/miscutils/last.c @@ -4,19 +4,11 @@ * * Copyright (C) 2003-2004 by Erik Andersen * - * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. + * Licensed under the GPL version 2, see the file LICENSE in this tarball. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "busybox.h" +#include #ifndef SHUTDOWN_TIME # define SHUTDOWN_TIME 254 @@ -26,7 +18,11 @@ * Do what we can while still keeping this reasonably small. * Note: We are assuming the ut_id[] size is fixed at 4. */ -#if (UT_LINESIZE != 32) || (UT_NAMESIZE != 32) || (UT_HOSTSIZE != 256) +#if defined UT_LINESIZE \ + && ((UT_LINESIZE != 32) || (UT_NAMESIZE != 32) || (UT_HOSTSIZE != 256)) +#error struct utmp member char[] size(s) have changed! +#elif defined __UT_LINESIZE \ + && ((__UT_LINESIZE != 32) || (__UT_NAMESIZE != 64) || (__UT_HOSTSIZE != 256)) #error struct utmp member char[] size(s) have changed! #endif @@ -39,7 +35,7 @@ int last_main(int argc, char **argv) if (argc > 1) { bb_show_usage(); } - file = bb_xopen(_PATH_WTMP, O_RDONLY); + file = xopen(bb_path_wtmp_file, O_RDONLY); printf("%-10s %-14s %-18s %-12.12s %s\n", "USER", "TTY", "HOST", "LOGIN", "TIME"); while ((n = safe_read(file, (void*)&ut, sizeof(struct utmp))) != 0) { @@ -48,7 +44,7 @@ int last_main(int argc, char **argv) bb_perror_msg_and_die("short read"); } - if (strncmp(ut.ut_line, "~", 1) == 0) { + if (ut.ut_line[0] == '~') { if (strncmp(ut.ut_user, "shutdown", 8) == 0) ut.ut_type = SHUTDOWN_TIME; else if (strncmp(ut.ut_user, "reboot", 6) == 0) @@ -91,5 +87,5 @@ int last_main(int argc, char **argv) ctime(&t_tmp) + 4); } - bb_fflush_stdout_and_exit(EXIT_SUCCESS); + fflush_stdout_and_exit(EXIT_SUCCESS); }