diff options
Diffstat (limited to 'src/UniConversion.h')
| -rw-r--r-- | src/UniConversion.h | 20 | 
1 files changed, 10 insertions, 10 deletions
diff --git a/src/UniConversion.h b/src/UniConversion.h index 98bcd0329..bece53f4d 100644 --- a/src/UniConversion.h +++ b/src/UniConversion.h @@ -20,12 +20,12 @@ void UTF8FromUTF32Character(int uch, char *putf);  size_t UTF16Length(const char *s, size_t len);  size_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen);  size_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen); -unsigned int UTF16FromUTF32Character(unsigned int val, wchar_t *tbuf); +unsigned int UTF16FromUTF32Character(unsigned int val, wchar_t *tbuf) noexcept;  std::string FixInvalidUTF8(const std::string &text);  extern const unsigned char UTF8BytesOfLead[256]; -inline int UnicodeFromUTF8(const unsigned char *us) { +inline int UnicodeFromUTF8(const unsigned char *us) noexcept {  	switch (UTF8BytesOfLead[us[0]]) {  	case 1:  		return us[0]; @@ -38,31 +38,31 @@ inline int UnicodeFromUTF8(const unsigned char *us) {  	}  } -inline bool UTF8IsTrailByte(unsigned char ch) { +inline bool UTF8IsTrailByte(unsigned char ch) noexcept {  	return (ch >= 0x80) && (ch < 0xc0);  } -inline bool UTF8IsAscii(int ch) { +inline bool UTF8IsAscii(int ch) noexcept {  	return ch < 0x80;  }  enum { UTF8MaskWidth=0x7, UTF8MaskInvalid=0x8 }; -int UTF8Classify(const unsigned char *us, int len); +int UTF8Classify(const unsigned char *us, int len) noexcept;  // Similar to UTF8Classify but returns a length of 1 for invalid bytes  // instead of setting the invalid flag -int UTF8DrawBytes(const unsigned char *us, int len); +int UTF8DrawBytes(const unsigned char *us, int len) noexcept;  // Line separator is U+2028 \xe2\x80\xa8  // Paragraph separator is U+2029 \xe2\x80\xa9  const int UTF8SeparatorLength = 3; -inline bool UTF8IsSeparator(const unsigned char *us) { +inline bool UTF8IsSeparator(const unsigned char *us) noexcept {  	return (us[0] == 0xe2) && (us[1] == 0x80) && ((us[2] == 0xa8) || (us[2] == 0xa9));  }  // NEL is U+0085 \xc2\x85  const int UTF8NELLength = 2; -inline bool UTF8IsNEL(const unsigned char *us) { +inline bool UTF8IsNEL(const unsigned char *us) noexcept {  	return (us[0] == 0xc2) && (us[1] == 0x85);  } @@ -72,11 +72,11 @@ enum { SURROGATE_TRAIL_FIRST = 0xDC00 };  enum { SURROGATE_TRAIL_LAST = 0xDFFF };  enum { SUPPLEMENTAL_PLANE_FIRST = 0x10000 }; -inline unsigned int UTF16CharLength(wchar_t uch) { +inline unsigned int UTF16CharLength(wchar_t uch) noexcept {  	return ((uch >= SURROGATE_LEAD_FIRST) && (uch <= SURROGATE_LEAD_LAST)) ? 2 : 1;  } -inline unsigned int UTF16LengthFromUTF8ByteCount(unsigned int byteCount) { +inline unsigned int UTF16LengthFromUTF8ByteCount(unsigned int byteCount) noexcept {  	return (byteCount < 4) ? 1 : 2;  }  | 
