From 489de1005c94bda6ea2d3f8d0b8535be191cf16e Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 29 Oct 2014 19:06:17 +0100 Subject: more code reuse MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/log-login-utmp.c | 41 ++++++++--------------------------------- 1 file changed, 8 insertions(+), 33 deletions(-) (limited to 'src/log-login-utmp.c') diff --git a/src/log-login-utmp.c b/src/log-login-utmp.c index c696243..081c63e 100644 --- a/src/log-login-utmp.c +++ b/src/log-login-utmp.c @@ -17,46 +17,21 @@ * along with this program. If not, see . */ #include "common.h" - #include - -#define X(A) static const char* A = NULL; - LIST_ARGUMENTS -#undef X - - -static int log_action(void); - - -int main(int argc, char** argv) -{ - int i; - - for (i = 1; i < argc; i++) - { -#define X(A) if (strstr(argv[i], "--" #A "=")) A = strchr(argv[i], '=') + 1; - LIST_ARGUMENTS -#undef X - } - - if (!streq(action, "login")) return 0; - if (NULL == username) return 1; - if (NULL == ttyname) return 1; - if (NULL == pid) return 1; - - return -log_action(); -} - - -static int log_action(void) +int do_log(void) { struct utmp ut; struct utmp *entry; - pid_t pid_ = (pid_t)atoll(pid); - const char* ttyno = first_digit(ttyname); + pid_t pid_; + const char* ttyno; + if (!streq(action, "login")) + return 0; + + pid_ = (pid_t)atoll(pid); + ttyno = first_digit(ttyname); memset(&ut, 0, sizeof(struct utmp)); utmpname(_PATH_UTMP); -- cgit v1.2.3-70-g09d2