Forráskód Böngészése

string: add BOM helper

cypherpunks 7 éve
szülő
commit
3704c4a012
2 módosított fájl, 14 hozzáadás és 0 törlés
  1. 13 0
      src/lib/string/util_string.c
  2. 1 0
      src/lib/string/util_string.h

+ 13 - 0
src/lib/string/util_string.c

@@ -541,3 +541,16 @@ string_is_utf8(const char *str, size_t len)
   }
   return true;
 }
+
+/** As string_is_utf8(), but returns false if the string begins with a UTF-8
+ * byte order mark (BOM).
+ */
+int
+string_is_utf8_no_bom(const char *str, size_t len)
+{
+  if (len >= 3 && (!strcmpstart(str, "\uFEFF") ||
+                   !strcmpstart(str, "\uFFFE"))) {
+    return false;
+  }
+  return string_is_utf8(str, len);
+}

+ 1 - 0
src/lib/string/util_string.h

@@ -53,5 +53,6 @@ const char *find_str_at_start_of_line(const char *haystack,
 int string_is_C_identifier(const char *string);
 
 int string_is_utf8(const char *str, size_t len);
+int string_is_utf8_no_bom(const char *str, size_t len);
 
 #endif /* !defined(TOR_UTIL_STRING_H) */