boot: Add strsize8/16

This commit is contained in:
Jan Janssen
2022-05-31 15:14:54 +02:00
parent fb67588c62
commit 96dc0dd387
2 changed files with 26 additions and 0 deletions
+8
View File
@@ -11,6 +11,14 @@ size_t strnlen16(const char16_t *s, size_t n);
size_t strlen8(const char *s);
size_t strlen16(const char16_t *s);
static inline size_t strsize8(const char *s) {
return s ? (strlen8(s) + 1) * sizeof(*s) : 0;
}
static inline size_t strsize16(const char16_t *s) {
return s ? (strlen16(s) + 1) * sizeof(*s) : 0;
}
void strtolower8(char *s);
void strtolower16(char16_t *s);
+18
View File
@@ -41,6 +41,24 @@ TEST(strnlen16) {
assert_se(strnlen16(u"12\0004", 5) == 2);
}
TEST(strsize8) {
assert_se(strsize8(NULL) == 0);
assert_se(strsize8("") == 1);
assert_se(strsize8("1") == 2);
assert_se(strsize8("11") == 3);
assert_se(strsize8("123456789") == 10);
assert_se(strsize8("12\0004") == 3);
}
TEST(strsize16) {
assert_se(strsize16(NULL) == 0);
assert_se(strsize16(u"") == 2);
assert_se(strsize16(u"1") == 4);
assert_se(strsize16(u"11") == 6);
assert_se(strsize16(u"123456789") == 20);
assert_se(strsize16(u"12\0004") == 6);
}
TEST(strtolower8) {
char s[] = "\0001234abcDEF!\0zZ";