aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-21 13:23:14 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-21 13:23:14 +0000
commite99be6e4a58561eb7521c57148ec65ba0d87dd7b (patch)
tree3ab3dd4df901851ff7f4345708592118766ba4aa /libbb
parentec7c757361d94d39f4c947ba1ec3cf6f928fca64 (diff)
downloadbusybox-w32-e99be6e4a58561eb7521c57148ec65ba0d87dd7b.tar.gz
busybox-w32-e99be6e4a58561eb7521c57148ec65ba0d87dd7b.tar.bz2
busybox-w32-e99be6e4a58561eb7521c57148ec65ba0d87dd7b.zip
introduce LONE_CHAR (optimized strcmp with one-char string)
git-svn-id: svn://busybox.net/trunk/busybox@17027 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/correct_password.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libbb/correct_password.c b/libbb/correct_password.c
index fd7e0b56c..d031b2109 100644
--- a/libbb/correct_password.c
+++ b/libbb/correct_password.c
@@ -40,15 +40,14 @@ int correct_password(const struct passwd *pw)
40 char *unencrypted, *encrypted, *correct; 40 char *unencrypted, *encrypted, *correct;
41 41
42#ifdef CONFIG_FEATURE_SHADOWPASSWDS 42#ifdef CONFIG_FEATURE_SHADOWPASSWDS
43 if (!strcmp(pw->pw_passwd, "x") || !strcmp(pw->pw_passwd, "*")) { 43 if (LONE_CHAR(pw->pw_passwd, 'x') || LONE_CHAR(pw->pw_passwd, '*')) {
44 struct spwd *sp = getspnam(pw->pw_name); 44 struct spwd *sp = getspnam(pw->pw_name);
45 45
46 if (!sp) 46 if (!sp)
47 bb_error_msg_and_die("no valid shadow password"); 47 bb_error_msg_and_die("no valid shadow password");
48 48
49 correct = sp->sp_pwdp; 49 correct = sp->sp_pwdp;
50 } 50 } else
51 else
52#endif 51#endif
53 correct = pw->pw_passwd; 52 correct = pw->pw_passwd;
54 53