tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 3704c4a01219cca7273fa5fa0bc6751d98ad05ac
parent afc22ec5396e677c8cc3f7f14ecec7dc02a75b63
Author: cypherpunks <cypherpunks@torproject.org>
Date:   Wed, 29 Aug 2018 13:32:52 +0000

string: add BOM helper

Diffstat:
Msrc/lib/string/util_string.c | 13+++++++++++++
Msrc/lib/string/util_string.h | 1+
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) */