LINUX.ORG.RU

История изменений

Исправление beastie, (текущая версия) :

#include <stdio.h>
#include <ctype.h>

int
testpw(char *pw)
{
        int hasUpper = 0;
        int hasLower = 0;
        int hasDigit = 0;
        char *s;

        for (s = pw; *s; s++) {
                if (!isascii(*s))
                        return 0;
                if (isupper(*s))
                        hasUpper = 1;
                if (islower(*s))
                        hasLower = 1;
                if (isdigit(*s))
                        hasDigit = 1;
        }

        return hasUpper && hasLower && hasDigit && s-pw >= 6;
}

int
main(int argc, char **argv)
{
        if (argc > 1) {
                if (testpw(argv[1]))
                        puts("ok");
                else
                        puts("not ok");
        }

        return 0;
}

Исходная версия beastie, :

#include <stdio.h>
#include <ctype.h>

int
testpw(char *pw)
{
        int hasUpper = 0;
        int hasLower = 0;
        int hasDigit = 0;
        char *s;

        for (s = pw; *s; s++) {
                if (!isascii(*s))
                        return 0;
                if (isupper(*s))
                        hasUpper = 1;
                if (islower(*s))
                        hasLower = 1;
                if (isdigit(*s))
                        hasDigit = 1;
        }

        return hasUpper && hasLower && hasDigit && s-pw >= 6;
}

int
main(int argc, char **argv)
{
        if (argc > 1) {
                if (testpw(argv[1]))
                        puts("ok");
                else
                        puts("not ok");
        }
        return 0;
}