--- zzzz-none-000/linux-2.4.17/lib/vsprintf.c 2001-10-11 18:17:22.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/lib/vsprintf.c 2004-11-24 13:22:10.000000000 +0000 @@ -637,7 +637,12 @@ while (isspace(*str)) str++; - if (!*str || !isdigit(*str)) + if (!*str // Changed by Demiurg. patch from 2.5 kernel + || (base == 16 && !isxdigit(*str)) + || (base == 10 && !isdigit(*str)) + || (base == 8 && (!isdigit(*str) || *str > '7')) + || (base == 0 && !isdigit(*str))) +// if (!*str || !isdigit(*str)) break; switch(qualifier) {