Skip to content

Commit 32d89a3

Browse files
committed
libc: minimal: add missing ctype.h functions
Add the functions below to the minimal libc ctype.h since they are missing, and are required as of C89 (C99 for `isblank()`) * `isblank()` * `islower()` * `ispunct()` Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
1 parent 3cf7b20 commit 32d89a3

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

lib/libc/minimal/include/ctype.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ static inline int isalpha(int c)
2323
return (int)((((unsigned)c|32u)-(unsigned)'a') < 26U);
2424
}
2525

26+
static inline int isblank(int c)
27+
{
28+
return (int)((c == (int)' ') || (c == (int)'\t'));
29+
}
30+
2631
static inline int isspace(int c)
2732
{
2833
return (int)(c == (int)' ' || ((unsigned)c-(unsigned)'\t') < 5U);
@@ -40,11 +45,21 @@ static inline int isprint(int c)
4045
(((unsigned)c) <= (unsigned)'~'));
4146
}
4247

48+
static inline int ispunct(int c)
49+
{
50+
return (int)(isgraph(c) && !isalnum(c));
51+
}
52+
4353
static inline int isdigit(int a)
4454
{
4555
return (int)(((unsigned)(a)-(unsigned)'0') < 10U);
4656
}
4757

58+
static inline int islower(int c)
59+
{
60+
return (int)(((unsigned)(c) - (unsigned)'a') < 26U);
61+
}
62+
4863
static inline int isxdigit(int a)
4964
{
5065
unsigned int ua = (unsigned int)a;

0 commit comments

Comments
 (0)