tools/nolibc: add tolower() and toupper()
The kselftest harness uses these functions. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Acked-by: Willy Tarreau <w@1wt.eu>
This commit is contained in:
committed by
Thomas Weißschuh
parent
4de88a88bc
commit
9b070d97d9
@@ -289,6 +289,23 @@ char *strrchr(const char *s, int c)
|
||||
return (char *)ret;
|
||||
}
|
||||
|
||||
static __attribute__((unused))
|
||||
int tolower(int c)
|
||||
{
|
||||
if (c >= 'A' && c <= 'Z')
|
||||
return c - 'A' + 'a';
|
||||
return c;
|
||||
}
|
||||
|
||||
static __attribute__((unused))
|
||||
int toupper(int c)
|
||||
{
|
||||
if (c >= 'a' && c <= 'z')
|
||||
return c - 'a' + 'A';
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
/* make sure to include all global symbols */
|
||||
#include "nolibc.h"
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1280,6 +1281,10 @@ int run_stdlib(int min, int max)
|
||||
CASE_TEST(strerror_EINVAL); EXPECT_STREQ(is_nolibc, strerror(EINVAL), "errno=22"); break;
|
||||
CASE_TEST(strerror_int_max); EXPECT_STREQ(is_nolibc, strerror(INT_MAX), "errno=2147483647"); break;
|
||||
CASE_TEST(strerror_int_min); EXPECT_STREQ(is_nolibc, strerror(INT_MIN), "errno=-2147483648"); break;
|
||||
CASE_TEST(tolower); EXPECT_EQ(1, tolower('A'), 'a'); break;
|
||||
CASE_TEST(tolower_noop); EXPECT_EQ(1, tolower('a'), 'a'); break;
|
||||
CASE_TEST(toupper); EXPECT_EQ(1, toupper('a'), 'A'); break;
|
||||
CASE_TEST(toupper_noop); EXPECT_EQ(1, toupper('A'), 'A'); break;
|
||||
|
||||
case __LINE__:
|
||||
return ret; /* must be last */
|
||||
|
||||
Reference in New Issue
Block a user