- shrink simple obscure stuff a tiny bit:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 12 Jan 2006 15:38:12 +0000 (15:38 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 12 Jan 2006 15:38:12 +0000 (15:38 -0000)
   text    data     bss     dec     hex filename
    789       0       0     789     315 obscure.o.oorig
    771       0       0     771     303 obscure.o
- replace bzero by memset while at it.

libbb/obscure.c

index aa15e409717f2fc40d423cf87fd9c5d080326b7a..259f6788dc8d810cef57e629ee5b7471a787997e 100644 (file)
@@ -1,6 +1,7 @@
 /* vi: set sw=4 ts=4: */
 /*
  * Copyright 1989 - 1994, Julianne Frances Haugh <jockgrrl@austin.rr.com>
+ * Copyright 2006, Bernhard Fischer <busybox@busybox.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -81,23 +82,23 @@ static int similiar(const char *old, const char *newval)
 
 static int simple(const char *newval)
 {
-       int digits = 0;
-       int uppers = 0;
-       int lowers = 0;
-       int others = 0;
-       int c;
+#define digits 1
+#define uppers 2
+#define lowers 3
+#define others 4
+       int c, is_simple = 0;
        int size;
        int i;
 
        for (i = 0; (c = *newval++) != 0; i++) {
                if (isdigit(c))
-                       digits = c;
+                       is_simple |= digits;
                else if (isupper(c))
-                       uppers = c;
+                       is_simple |= uppers;
                else if (islower(c))
-                       lowers = c;
+                       is_simple |= lowers;
                else
-                       others = c;
+                       is_simple |= others;
        }
 
        /*
@@ -106,19 +107,23 @@ static int simple(const char *newval)
         */
 
        size = 9;
-       if (digits)
+       if (is_simple & digits)
                size--;
-       if (uppers)
+       if (is_simple & uppers)
                size--;
-       if (lowers)
+       if (is_simple & lowers)
                size--;
-       if (others)
+       if (is_simple & others)
                size--;
 
        if (size <= i)
                return 0;
 
        return 1;
+#undef digits
+#undef uppers
+#undef lowers
+#undef others
 }
 
 static char *str_lower(char *string)
@@ -163,8 +168,8 @@ password_check(const char *old, const char *newval, const struct passwd *pwdp)
                        msg = "rotated";
        }
 
-       bzero(newmono, strlen(newmono));
-       bzero(wrapped, lenwrap * 2);
+       memset(newmono, 0, strlen(newmono));
+       memset(wrapped, 0, lenwrap * 2);
        free(newmono);
        free(wrapped);
 
@@ -220,8 +225,8 @@ obscure_msg(const char *old, const char *newval, const struct passwd *pwdp)
 
        msg = password_check(old1, new1, pwdp);
 
-       bzero(new1, newlen);
-       bzero(old1, oldlen);
+       memset(new1, 0, newlen);
+       memset(old1, 0, oldlen);
        free(new1);
        free(old1);