X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=lib%2Fcharset.c;h=1c6a7f693de4b20da405b33289285e5f258fc6fb;hb=e731af4893f7741c66254161ad9b6f5280369895;hp=72d745da4f4e2ab9cb39ae476ca5de892c8b74e0;hpb=fe4243870df152f839f88e5aa355f53cfba0a866;p=oweals%2Fu-boot.git diff --git a/lib/charset.c b/lib/charset.c index 72d745da4f..1c6a7f693d 100644 --- a/lib/charset.c +++ b/lib/charset.c @@ -335,6 +335,31 @@ s32 utf_to_upper(const s32 code) return ret; } +/* + * u16_strncmp() - compare two u16 string + * + * @s1: first string to compare + * @s2: second string to compare + * @n: maximum number of u16 to compare + * Return: 0 if the first n u16 are the same in s1 and s2 + * < 0 if the first different u16 in s1 is less than the + * corresponding u16 in s2 + * > 0 if the first different u16 in s1 is greater than the + * corresponding u16 in s2 + */ +int u16_strncmp(const u16 *s1, const u16 *s2, size_t n) +{ + int ret = 0; + + for (; n; --n, ++s1, ++s2) { + ret = *s1 - *s2; + if (ret || !*s1) + break; + } + + return ret; +} + size_t u16_strlen(const void *in) { const char *pos = in;