utf8: minor simplifications

This commit is contained in:
Lennart Poettering
2014-12-04 02:36:04 +01:00
parent 3c6d3052d3
commit 6ed62be0b1
2 changed files with 8 additions and 9 deletions
+4 -4
View File
@@ -142,19 +142,19 @@ int utf8_encoded_to_unichar(const char *str) {
}
bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
const uint8_t *p;
const char *p;
assert(str);
for (p = (const uint8_t*) str; length;) {
for (p = str; length;) {
int encoded_len, val;
encoded_len = utf8_encoded_valid_unichar((const char *) p);
encoded_len = utf8_encoded_valid_unichar(p);
if (encoded_len < 0 ||
(size_t) encoded_len > length)
return false;
val = utf8_encoded_to_unichar((const char*) p);
val = utf8_encoded_to_unichar(p);
if (val < 0 ||
is_unicode_control(val) ||
(!newline && val == '\n'))
+4 -5
View File
@@ -29,13 +29,12 @@
const char *utf8_is_valid(const char *s) _pure_;
char *ascii_is_valid(const char *s) _pure_;
char *utf8_escape_invalid(const char *s);
char *utf8_escape_non_printable(const char *str);
bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
return utf8_is_printable_newline(str, length, true);
}
#define utf8_is_printable(str, length) utf8_is_printable_newline(str, length, true)
char *utf8_escape_invalid(const char *s);
char *utf8_escape_non_printable(const char *str);
char *utf16_to_utf8(const void *s, size_t length);