Reviewers: Kevin Millikin, plesner, Message: Some small cleanup I noticed while stealing this code for Chrome. In Chrome's case it wouldn't compile because of the signed/unsigned mismatch. (see http://codereview.chromium.org/149526).
-- dean Description: Small cleanup to Utf8::CalculateValue: - Don't duplicate kMaxXByteChar constants. - Don't compare signed and unsigned integers. Please review this at http://codereview.chromium.org/155414 Affected files: M src/unicode.cc Index: src/unicode.cc diff --git a/src/unicode.cc b/src/unicode.cc index 4a9e070ac5143732157641fbacf918d016ec999f..ef1359321f4e98eeb733fdfbfa8e336aebaf4b28 100644 --- a/src/unicode.cc +++ b/src/unicode.cc @@ -194,18 +194,13 @@ static int LookupMapping(const int32_t* table, uchar Utf8::CalculateValue(const byte* str, unsigned length, unsigned* cursor) { - static const uchar kMaxOneByteChar = 0x7F; - static const uchar kMaxTwoByteChar = 0x7FF; - static const uchar kMaxThreeByteChar = 0xFFFF; - static const uchar kMaxFourByteChar = 0x1FFFFF; - // We only get called for non-ascii characters. if (length == 1) { *cursor += 1; return kBadChar; } - int first = str[0]; - int second = str[1] ^ 0x80; + byte first = str[0]; + byte second = str[1] ^ 0x80; if (second & 0xC0) { *cursor += 1; return kBadChar; @@ -227,7 +222,7 @@ uchar Utf8::CalculateValue(const byte* str, *cursor += 1; return kBadChar; } - int third = str[2] ^ 0x80; + byte third = str[2] ^ 0x80; if (third & 0xC0) { *cursor += 1; return kBadChar; @@ -245,7 +240,7 @@ uchar Utf8::CalculateValue(const byte* str, *cursor += 1; return kBadChar; } - int fourth = str[3] ^ 0x80; + byte fourth = str[3] ^ 0x80; if (fourth & 0xC0) { *cursor += 1; return kBadChar; --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
