extern const unsigned char sane_ctype[256]; #define GIT_DIGIT 0x02 #define isdigit(x) sane_istest(x,GIT_DIGIT) #define sane_istest(x,mask) \ ((sane_ctype[(unsigned char)(x)] & (mask)) != 0) int versioncmp(....) { int state; unsigned char c1; .... state = S_N + ((c1 == '0') + (isdigit(c1) != 0)); .... }