diff options
Diffstat (limited to 'libutils/Unicode.cpp')
-rw-r--r-- | libutils/Unicode.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/libutils/Unicode.cpp b/libutils/Unicode.cpp index dd03c6ba1..8ae9ef24d 100644 --- a/libutils/Unicode.cpp +++ b/libutils/Unicode.cpp @@ -26,17 +26,10 @@ # undef nhtos # undef htons -# ifdef HAVE_LITTLE_ENDIAN -# define ntohl(x) ( ((x) << 24) | (((x) >> 24) & 255) | (((x) << 8) & 0xff0000) | (((x) >> 8) & 0xff00) ) -# define htonl(x) ntohl(x) -# define ntohs(x) ( (((x) << 8) & 0xff00) | (((x) >> 8) & 255) ) -# define htons(x) ntohs(x) -# else -# define ntohl(x) (x) -# define htonl(x) (x) -# define ntohs(x) (x) -# define htons(x) (x) -# endif +# define ntohl(x) ( ((x) << 24) | (((x) >> 24) & 255) | (((x) << 8) & 0xff0000) | (((x) >> 8) & 0xff00) ) +# define htonl(x) ntohl(x) +# define ntohs(x) ( (((x) << 8) & 0xff00) | (((x) >> 8) & 255) ) +# define htons(x) ntohs(x) #else # include <netinet/in.h> #endif @@ -49,8 +42,9 @@ static const char32_t kByteMark = 0x00000080; // Surrogates aren't valid for UTF-32 characters, so define some // constants that will let us screen them out. static const char32_t kUnicodeSurrogateHighStart = 0x0000D800; -static const char32_t kUnicodeSurrogateHighEnd = 0x0000DBFF; -static const char32_t kUnicodeSurrogateLowStart = 0x0000DC00; +// Unused, here for completeness: +// static const char32_t kUnicodeSurrogateHighEnd = 0x0000DBFF; +// static const char32_t kUnicodeSurrogateLowStart = 0x0000DC00; static const char32_t kUnicodeSurrogateLowEnd = 0x0000DFFF; static const char32_t kUnicodeSurrogateStart = kUnicodeSurrogateHighStart; static const char32_t kUnicodeSurrogateEnd = kUnicodeSurrogateLowEnd; @@ -190,6 +184,7 @@ ssize_t utf32_to_utf8_length(const char32_t *src, size_t src_len) // If this happens, we would overflow the ssize_t type when // returning from this function, so we cannot express how // long this string is in an ssize_t. + android_errorWriteLog(0x534e4554, "37723026"); return -1; } ret += char_len; @@ -441,6 +436,7 @@ ssize_t utf16_to_utf8_length(const char16_t *src, size_t src_len) // If this happens, we would overflow the ssize_t type when // returning from this function, so we cannot express how // long this string is in an ssize_t. + android_errorWriteLog(0x534e4554, "37723026"); return -1; } ret += char_len; |