| git.druid.rocks | index | druid520 | kaboom | src/ | user/ | ctype.nsc |
src/user/ctype.nsc
/*
* ctype.h coverage -- plain ascii only (no locale, no unicode: nothing
* in kaboom's kernel or userspace has ever needed either), each
* function a straight literal ascii range check, no lookup table
* (nsc has no static const array initializers to build one from
* anyway).
*/
global i32
is_digit(u8 c)
{
if(c >= (u8)48 && c <= (u8)57)
{
return 1;
}
return 0;
}
global i32
is_upper(u8 c)
{
if(c >= (u8)65 && c <= (u8)90)
{
return 1;
}
return 0;
}
global i32
is_lower(u8 c)
{
if(c >= (u8)97 && c <= (u8)122)
{
return 1;
}
return 0;
}
global i32
is_alpha(u8 c)
{
if(is_upper(c) == 1 || is_lower(c) == 1)
{
return 1;
}
return 0;
}
global i32
is_alnum(u8 c)
{
if(is_alpha(c) == 1 || is_digit(c) == 1)
{
return 1;
}
return 0;
}
global i32
is_space(u8 c)
{
if(c == (u8)32 || c == (u8)9 || c == (u8)10 || c == (u8)13 || c == (u8)11 || c == (u8)12)
{
return 1;
}
return 0;
}
global u8
to_upper(u8 c)
{
if(is_lower(c) == 1)
{
return c - (u8)32;
}
return c;
}
global u8
to_lower(u8 c)
{
if(is_upper(c) == 1)
{
return c + (u8)32;
}
return c;
}