summaryrefslogtreecommitdiff
path: root/include/charset.h
diff options
context:
space:
mode:
authorAKASHI Takahiro <takahiro.akashi@linaro.org>2019-09-18 10:26:29 +0900
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-20 20:09:19 +0200
commitf8062c963a6285ce04b75570a1beaec27a40aec1 (patch)
tree628672a36bc0d31d80d260c35a9c0e60480a3a43 /include/charset.h
parent5a24239c951e8dc3177b63881631868b8d487920 (diff)
lib: charset: add u16_str<n>cmp()
u16 version of strcmp(): u16_strncmp() works like u16_strcmp() but only at most n characters (in u16) are compared. This function will be used in my UEFI secure boot patch. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'include/charset.h')
-rw-r--r--include/charset.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/charset.h b/include/charset.h
index 020f8a90df..fde6bddbc2 100644
--- a/include/charset.h
+++ b/include/charset.h
@@ -168,6 +168,21 @@ s32 utf_to_lower(const s32 code);
*/
s32 utf_to_upper(const s32 code);
+/*
+ * 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);
+#define u16_strcmp(s1, s2) u16_strncmp((s1), (s2), SIZE_MAX)
+
/**
* u16_strlen - count non-zero words
*