commit 3704c4a01219cca7273fa5fa0bc6751d98ad05ac
parent afc22ec5396e677c8cc3f7f14ecec7dc02a75b63
Author: cypherpunks <cypherpunks@torproject.org>
Date: Wed, 29 Aug 2018 13:32:52 +0000
string: add BOM helper
Diffstat:
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/lib/string/util_string.c b/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);
+}
diff --git a/src/lib/string/util_string.h b/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) */