Small cleanup to Utf8::CalculateValue:

- Don't duplicate kMaxXByteChar constants.
  - Don't compare signed and unsigned integers.

Review URL: http://codereview.chromium.org/155414


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
deanm@chromium.org 2009-07-13 11:17:51 +00:00
parent d067f8903a
commit e9f42cde46

View File

@ -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;