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;
int i = 0;
size_t i = 0;
for (; i < length; i++)
{
if ((unsigned char)_input[i] < 0x80)
continue;
int count = 0;
size_t count = 0;
switch(_input[i] & 0xe0) {
case 0xc0: count = 1; break;
case 0xe0: count = 2; break;
@ -62,7 +62,7 @@ bool validate(std::string const& _input, int& _invalidPosition)
break;
}
for (int j = 0; j < count; j++)
for (size_t j = 0; j < count; j++)
{
i++;
if ((_input[i] & 0xc0) != 0x80)

View File

@ -33,7 +33,7 @@ namespace utf8
/// Validate an input for UTF8 encoding
/// @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
{
int invalidSequence;
size_t invalidSequence;
if (!dev::utf8::validate(m_value, invalidSequence))
return "literal_string (contains invalid UTF-8 sequence at position " + dev::toString(invalidSequence) + ")";