From 2c8648a9c889fc0a7c4b24367a3f81f08dedccb2 Mon Sep 17 00:00:00 2001 From: Xavier G Date: Fri, 13 May 2016 02:10:02 +0200 Subject: Introduce string_policy(). --- src/core/utf8.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/core/utf8.h') diff --git a/src/core/utf8.h b/src/core/utf8.h index 50ee0886..fa11b737 100644 --- a/src/core/utf8.h +++ b/src/core/utf8.h @@ -19,6 +19,20 @@ int mk_wcwidth(unichar c); */ int string_advance(char const **str, gboolean utf8); +/* TREAT_STRING_AS_BYTES means strings are to be treated using strncpy, + * strnlen, etc. + * TREAT_STRING_AS_UTF8 means strings are to be treated using g_utf8_* + * functions. + */ +#define TREAT_STRING_AS_BYTES 0 +#define TREAT_STRING_AS_UTF8 1 + +/* Return how the str string ought to be treated: TREAT_STRING_AS_UTF8 if the + * terminal handles UTF-8 and if the string appears to be a valid UTF-8 string; + * TREAT_STRING_AS_BYTES otherwise. + */ +int string_policy(const char *str); + #define unichar_isprint(c) (((c) & ~0x80) >= 32) #define is_utf8_leading(c) (((c) & 0xc0) != 0x80) -- cgit v1.2.3