Another negative thing about the table driven C type functions is that in the PROTECTED build, there will need to be two ctyle look-up tables: One in user space and one in kernel space. So the overhead will 512, not 256, bytes in that configuration.
Perhaps we would use the macros inside of the OS and the lookup table outside of the OS?
#ifdef __KERNEL__ # define isdigit(c) ((c) >= '0' && (c) <= '9') #else # define isdigit(c) ((table((unsigned)c) & __DIGIT_MASK) != 0) #endif Then perhaps we could avoid the duplicate kernel-space lookup table?