summaryrefslogtreecommitdiffstats
path: root/login-utils/login.c
diff options
context:
space:
mode:
authorSami Kerola2012-06-02 11:57:42 +0200
committerSami Kerola2012-06-02 11:57:42 +0200
commitc9baf5da866ed47fe1a1ba744d80954fa920fa1b (patch)
tree798582dfebac36511633fca63cf2c3231962b1a0 /login-utils/login.c
parentbuild-sys: move configure login options to one place (diff)
downloadkernel-qcow2-util-linux-c9baf5da866ed47fe1a1ba744d80954fa920fa1b.tar.gz
kernel-qcow2-util-linux-c9baf5da866ed47fe1a1ba744d80954fa920fa1b.tar.xz
kernel-qcow2-util-linux-c9baf5da866ed47fe1a1ba744d80954fa920fa1b.zip
logindefs: change getlogindefs_num() to return unsigned long
Where ever getlogindefs_num() is called return value is always expected to be unsigned, such as sleep() input, gid_t or mode_t. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'login-utils/login.c')
-rw-r--r--login-utils/login.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/login-utils/login.c b/login-utils/login.c
index 346f23bdb..9db4f0fe6 100644
--- a/login-utils/login.c
+++ b/login-utils/login.c
@@ -127,7 +127,7 @@ struct login_context {
* This bounds the time given to login. Not a define so it can
* be patched on machines where it's too small.
*/
-static int timeout = LOGIN_TIMEOUT;
+static unsigned int timeout = LOGIN_TIMEOUT;
static int child_pid = 0;
static volatile int got_sig = 0;
@@ -172,8 +172,8 @@ static void timedout(int sig __attribute__ ((__unused__)))
{
signal(SIGALRM, timedout2);
alarm(10);
- /* TRANSLATORS: The standard value for %d is 60. */
- warnx(_("timed out after %d seconds"), timeout);
+ /* TRANSLATORS: The standard value for %u is 60. */
+ warnx(_("timed out after %u seconds"), timeout);
signal(SIGALRM, SIG_IGN);
alarm(0);
timedout2(0);
@@ -203,7 +203,7 @@ static void sig_handler(int signal)
*/
static void __attribute__ ((__noreturn__)) sleepexit(int eval)
{
- sleep(getlogindefs_num("FAIL_DELAY", LOGIN_EXIT_TIMEOUT));
+ sleep((unsigned int)getlogindefs_num("FAIL_DELAY", LOGIN_EXIT_TIMEOUT));
exit(eval);
}
@@ -320,7 +320,7 @@ static void chown_tty(struct login_context *cxt)
grname = getlogindefs_str("TTYGROUP", TTYGRPNAME);
if (grname && *grname) {
if (*grname >= 0 && *grname <= 9) /* group by ID */
- gid = getlogindefs_num("TTYGROUP", gid);
+ gid = (gid_t)getlogindefs_num("TTYGROUP", gid);
else { /* group by name */
struct group *gr = getgrnam(grname);
if (gr)
@@ -772,7 +772,8 @@ static pam_handle_t *init_loginpam(struct login_context *cxt)
static void loginpam_auth(struct login_context *cxt)
{
- int rc, failcount = 0, show_unknown, retries;
+ int rc, failcount = 0, show_unknown;
+ unsigned long retries;
const char *hostname = cxt->hostname ? cxt->hostname :
cxt->tty_name ? cxt->tty_name : "<unknown>";
pam_handle_t *pamh = cxt->pamh;
@@ -1235,11 +1236,11 @@ int main(int argc, char **argv)
.conv = { misc_conv, NULL } /* PAM conversation function */
};
- timeout = getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT);
+ timeout = (unsigned int)getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT);
signal(SIGALRM, timedout);
siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioclt() */
- alarm((unsigned int)timeout);
+ alarm(timeout);
signal(SIGQUIT, SIG_IGN);
signal(SIGINT, SIG_IGN);