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
-~----------~----~----~----~------~----~------~--~---

Reply via email to