Thursday, June 25, 2009

Жара доводит до ручки

Удивлялся и пялился, как в афишу коза, почему вместо ожидаемой lowercase строки, переменная t становится заполнена непечатным символом 0x01 (SOH):

int cmd_type(const char *raw)
{
    if (raw == NULL) return -1;

    char t[BUFSIZ];
    strncpy(t, raw, sizeof(t)-1);
    t[sizeof(t)-1] = '\0';

    char *p = t;
    while (*p) {
        *p = islower(*p);
        ++p;
    }

    if (strncmp(t, "help", 4) == 0) return P_CMD_HELP;
    ...
}

Распознать наконец, что вместо tolower написал islower понадобилось минут 30. Проклятое киевское лето.

No comments:

Post a Comment