]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
lib: convert u16_strlen() into a macro
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 2 Apr 2022 09:46:58 +0000 (11:46 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 15 Apr 2022 09:26:20 +0000 (11:26 +0200)
The function u16_strlen() can be implemented as call to u16_strnlen().

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
include/charset.h
lib/charset.c

index b93d0230923b83eca645188a6bdfe423bebfc179..38908e08f0d7fd529d0975542c3ec653e26032b9 100644 (file)
@@ -200,18 +200,6 @@ 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
- *
- * This function matches wsclen() if the -fshort-wchar compiler flag is set.
- * In the EFI context we explicitly need a function handling u16 strings.
- *
- * @in:                        null terminated u16 string
- * Return:             number of non-zero words.
- *                     This is not the number of utf-16 letters!
- */
-size_t u16_strlen(const void *in);
-
 /**
  * u16_strsize() - count size of u16 string in bytes including the null
  *                character
@@ -236,6 +224,20 @@ size_t u16_strsize(const void *in);
  */
 size_t u16_strnlen(const u16 *in, size_t count);
 
+/**
+ * u16_strlen - count non-zero words
+ *
+ * This function matches wsclen() if the -fshort-wchar compiler flag is set.
+ * In the EFI context we explicitly need a function handling u16 strings.
+ *
+ * @in:                        null terminated u16 string
+ * Return:             number of non-zero words.
+ *                     This is not the number of utf-16 letters!
+ */
+size_t u16_strlen(const void *in);
+
+#define u16_strlen(in) u16_strnlen(in, SIZE_MAX)
+
 /**
  * u16_strcpy() - copy u16 string
  *
index f44c58d9d81a29517e5092c795257d55fe88830b..91cbe87509c7d73ea755b497afd7bf7eb0111787 100644 (file)
@@ -375,18 +375,6 @@ int u16_strncmp(const u16 *s1, const u16 *s2, size_t n)
        return ret;
 }
 
-size_t u16_strlen(const void *in)
-{
-       const char *pos = in;
-       size_t ret;
-
-       for (; pos[0] || pos[1]; pos += 2)
-               ;
-       ret = pos - (char *)in;
-       ret >>= 1;
-       return ret;
-}
-
 size_t __efi_runtime u16_strnlen(const u16 *in, size_t count)
 {
        size_t i;