Use size_t in dev::utf8::validate()

This commit is contained in:
Alex Beregszaszi 2016-08-08 19:12:52 +01:00
parent c157163441
commit f1df3dee53
3 changed files with 7 additions and 7 deletions

View File

@ -31,18 +31,18 @@ namespace utf8
{ {
bool validate(std::string const& _input, int& _invalidPosition) bool validate(std::string const& _input, size_t& _invalidPosition)
{ {
const int length = _input.length(); const size_t length = _input.length();
bool valid = true; bool valid = true;
int i = 0; size_t i = 0;
for (; i < length; i++) for (; i < length; i++)
{ {
if ((unsigned char)_input[i] < 0x80) if ((unsigned char)_input[i] < 0x80)
continue; continue;
int count = 0; size_t count = 0;
switch(_input[i] & 0xe0) { switch(_input[i] & 0xe0) {
case 0xc0: count = 1; break; case 0xc0: count = 1; break;
case 0xe0: count = 2; break; case 0xe0: count = 2; break;
@ -62,7 +62,7 @@ bool validate(std::string const& _input, int& _invalidPosition)
break; break;
} }
for (int j = 0; j < count; j++) for (size_t j = 0; j < count; j++)
{ {
i++; i++;
if ((_input[i] & 0xc0) != 0x80) if ((_input[i] & 0xc0) != 0x80)

View File

@ -33,7 +33,7 @@ namespace utf8
/// Validate an input for UTF8 encoding /// Validate an input for UTF8 encoding
/// @returns true if it is invalid and the first invalid position in invalidPosition /// @returns true if it is invalid and the first invalid position in invalidPosition
bool validate(std::string const& _input, int& _invalidPosition); bool validate(std::string const& _input, size_t& _invalidPosition);
} }

View File

@ -855,7 +855,7 @@ bool StringLiteralType::operator==(const Type& _other) const
std::string StringLiteralType::toString(bool) const std::string StringLiteralType::toString(bool) const
{ {
int invalidSequence; size_t invalidSequence;
if (!dev::utf8::validate(m_value, invalidSequence)) if (!dev::utf8::validate(m_value, invalidSequence))
return "literal_string (contains invalid UTF-8 sequence at position " + dev::toString(invalidSequence) + ")"; return "literal_string (contains invalid UTF-8 sequence at position " + dev::toString(invalidSequence) + ")";