cast_uchar
for (; lisxdigit(cast_uchar(**s)); (*s)++) { /* read integer part */
r = (r * cast_num(16.0)) + cast_num(luaO_hexavalue(cast_uchar(**s)));
while (lisspace(cast_uchar(*s))) s++; /* skip initial spaces */
if (!lisdigit(cast_uchar(*s)))
while (lisdigit(cast_uchar(*s))) /* read exponent */
while (lisspace(cast_uchar(*endptr))) endptr++;
return cast_uchar(*(z->p++));
#define zgetc(z) (((z)->n--)>0 ? cast_uchar(*(z)->p++) : luaZ_fill(z))