static int wtmp_perform_logout(struct logininfo *li) { struct utmp ut; construct_utmp(li, &ut); return wtmp_write(li, &ut); }
static int syslogin_perform_login(struct logininfo *li) { struct utmp *ut; ut = xmalloc(sizeof(*ut)); construct_utmp(li, ut); login(ut); free(ut); return (1); }
static int syslogin_perform_login(struct logininfo *li) { struct utmp *ut; if (! (ut = (struct utmp *)malloc(sizeof(*ut)))) { logit("syslogin_perform_login: couldn't malloc()"); return 0; } construct_utmp(li, ut); login(ut); free(ut); return 1; }
static int utmp_perform_logout(struct logininfo *li) { struct utmp ut; construct_utmp(li, &ut); # ifdef UTMP_USE_LIBRARY if (!utmp_write_library(li, &ut)) { logit("utmp_perform_logout: utmp_write_library() failed"); return 0; } # else if (!utmp_write_direct(li, &ut)) { logit("utmp_perform_logout: utmp_write_direct() failed"); return 0; } # endif return 1; }
static int utmp_perform_login(struct logininfo *li) { struct utmp ut; construct_utmp(li, &ut); # ifdef UTMP_USE_LIBRARY if (!utmp_write_library(li, &ut)) { dropbear_log(LOG_WARNING, "utmp_perform_login: utmp_write_library() failed"); return 0; } # else if (!utmp_write_direct(li, &ut)) { dropbear_log(LOG_WARNING, "utmp_perform_login: utmp_write_direct() failed"); return 0; } # endif return 1; }
static int utmp_perform_login(struct logininfo *li) { struct utmp ut; construct_utmp(li, &ut); # ifdef UTMP_USE_LIBRARY if (!utmp_write_library(li, &ut)) { logit("%s: utmp_write_library() failed", __func__); return (0); } # else if (!utmp_write_direct(li, &ut)) { logit("%s: utmp_write_direct() failed", __func__); return (0); } # endif return (1); }