Rewrite SimpleString::StrCmp() (3)

Take your pick :-)
This does work:

    while (n > 1 && *s1 && *s1 == *s2) {
        n--, s1++, s2++;
    }
    return *(unsigned char *) s1 - *(unsigned char *) s2;