Fix more signed/unsigned mismatches uncovered by MSVC /W3
authoraroben <aroben@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2007 17:50:27 +0000 (17:50 +0000)
committeraroben <aroben@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2007 17:50:27 +0000 (17:50 +0000)
Reviewed by John.

No regression tests possible.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::filenameHasSaneExtension):
* platform/win/FontDataWin.cpp:
(WebCore::FontData::containsCharacters):
* platform/win/PlatformScrollBarSafari.cpp:
(WebCore::):
* platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance):
(WebCore::UniscribeController::shapeAndPlaceItem):
* platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::parseVersionString):
* plugins/win/PluginPackageWin.cpp:
(WebCore::splitString):
* plugins/win/PluginViewWin.cpp:
(WebCore::freeStringArray):
(WebCore::PluginViewWin::invalidateTimerFired):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/network/cf/ResourceResponseCFNet.cpp
WebCore/platform/win/FontDataWin.cpp
WebCore/platform/win/PlatformScrollBarSafari.cpp
WebCore/platform/win/UniscribeController.cpp
WebCore/platform/win/WebCoreTextRenderer.cpp
WebCore/plugins/win/PluginDatabaseWin.cpp
WebCore/plugins/win/PluginPackageWin.cpp
WebCore/plugins/win/PluginViewWin.cpp

index 239c0086ca17d7e8a346e57792916a3dc8b36b54..6467529926e3e13c2f35d396f36799be6c03622d 100644 (file)
@@ -1,3 +1,30 @@
+2007-06-29  Adam Roben  <aroben@apple.com>
+
+        Fix more signed/unsigned mismatches uncovered by MSVC /W3
+
+        Reviewed by John.
+
+        No regression tests possible.
+
+        * platform/network/cf/ResourceResponseCFNet.cpp:
+        (WebCore::filenameHasSaneExtension):
+        * platform/win/FontDataWin.cpp:
+        (WebCore::FontData::containsCharacters):
+        * platform/win/PlatformScrollBarSafari.cpp:
+        (WebCore::):
+        * platform/win/UniscribeController.cpp:
+        (WebCore::UniscribeController::advance):
+        (WebCore::UniscribeController::shapeAndPlaceItem):
+        * platform/win/WebCoreTextRenderer.cpp:
+        (WebCore::doDrawTextAtPoint):
+        * plugins/win/PluginDatabaseWin.cpp:
+        (WebCore::parseVersionString):
+        * plugins/win/PluginPackageWin.cpp:
+        (WebCore::splitString):
+        * plugins/win/PluginViewWin.cpp:
+        (WebCore::freeStringArray):
+        (WebCore::PluginViewWin::invalidateTimerFired):
+
 2007-06-29  Adam Roben  <aroben@apple.com>
 
         Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3
index 7263ec69ef23013768f3bca41cec37993f134b61..20b2ef4320fc3009266263920f94357a0cfa3cd1 100644 (file)
@@ -78,7 +78,8 @@ static inline bool filenameHasSaneExtension(const String& filename)
     int dot = filename.find('.');
 
     // The dot can't be the first or last character in the filename.
-    return dot > 0 && dot < filename.length() - 1;
+    int length = filename.length();
+    return dot > 0 && dot < length - 1;
 }
 
 static inline String suggestedFilenameForResponse(const ResourceResponse& response, const HTTPHeaderMap& headers)
index eea1be2aea0c5d572c2f8b1dc8984c0e2237ba7d..29c42bc7f95a8427e61708252873b9527f7681b5 100644 (file)
@@ -154,7 +154,7 @@ bool FontData::containsCharacters(const UChar* characters, int length) const
     RestoreDC(dc, -1);
     ReleaseDC(0, dc);
 
-    for (unsigned i = 0; i < length; i++) {
+    for (int i = 0; i < length; i++) {
         if (glyphBuffer[i] == 0xFFFFFFFF) {
             delete []glyphBuffer;
             return false;
index 876287e5e63fb4eec7001d8323387bece6d98079..276a6622e5370517a5217189dbf6d69ef88600c5 100644 (file)
@@ -48,17 +48,17 @@ namespace WebCore {
 using namespace SafariTheme;
 
 // FIXME: We should get these numbers from SafariTheme
-static unsigned cHorizontalWidth[] = { 15, 11 };
-static unsigned cHorizontalHeight[] = { 15, 11 };
-static unsigned cVerticalWidth[] = { 15, 11 };
-static unsigned cVerticalHeight[] = { 15, 11 };
-static unsigned cRealButtonLength[] = { 28, 21 };
-static unsigned cButtonInset[] = { 14, 11 };
+static int cHorizontalWidth[] = { 15, 11 };
+static int cHorizontalHeight[] = { 15, 11 };
+static int cVerticalWidth[] = { 15, 11 };
+static int cVerticalHeight[] = { 15, 11 };
+static int cRealButtonLength[] = { 28, 21 };
+static int cButtonInset[] = { 14, 11 };
 // cRealButtonLength - cButtonInset
-static unsigned cButtonLength[] = { 14, 10 };
-static unsigned cThumbWidth[] = { 15, 11 };
-static unsigned cThumbHeight[] = { 15, 11 };
-static unsigned cThumbMinLength[] = { 26, 20 };
+static int cButtonLength[] = { 14, 10 };
+static int cThumbWidth[] = { 15, 11 };
+static int cThumbHeight[] = { 15, 11 };
+static int cThumbMinLength[] = { 26, 20 };
 
 static paintThemePartPtr paintThemePart;
 
index a57547bde6fd1d20e7df51e3c2414676e504b4da..a3c9067bc1f8d64b5db23826bd8071433b44efe0 100644 (file)
@@ -94,7 +94,7 @@ void UniscribeController::advance(unsigned offset, GlyphBuffer* glyphBuffer)
     // together (the complex code path will narrow the text because of kerning and ligatures and then
     // when bidi processing splits into multiple runs, the simple portions will get wider and cause us to
     // spill off the edge of a line).
-    if (offset > m_end)
+    if (static_cast<int>(offset) > m_end)
         offset = m_end;
 
     // Itemize the string.
@@ -189,7 +189,7 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, bool sm
 {
     // Determine the string for this item.
     const UChar* str = cp + m_items[i].iCharPos;
-    unsigned len = m_items[i+1].iCharPos - m_items[i].iCharPos;
+    int len = m_items[i+1].iCharPos - m_items[i].iCharPos;
     SCRIPT_ITEM item = m_items[i];
 
     // Get our current FontData that we are using.
@@ -279,8 +279,7 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, bool sm
     unsigned logicalSpaceWidth = fontData->m_spaceWidth * 32.0f;
     float roundedSpaceWidth = roundf(fontData->m_spaceWidth);
 
-    unsigned k;
-    for (k = 0; k < len; k++) {
+    for (int k = 0; k < len; k++) {
         UChar ch = *(str + k);
         if (Font::treatAsSpace(ch)) {
             // Substitute in the space glyph at the appropriate place in the glyphs
@@ -293,9 +292,10 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, bool sm
         if (Font::isRoundingHackCharacter(ch))
             roundingHackCharacters[clusters[k]] = m_currentCharacter + k + m_items[i].iCharPos;
 
-        if (k + m_currentCharacter + m_items[i].iCharPos < m_run.length() &&
+        int boundary = k + m_currentCharacter + m_items[i].iCharPos;
+        if (boundary < m_run.length() &&
             Font::isRoundingHackCharacter(*(str + k + 1)))
-            roundingHackWordBoundaries[clusters[k]] = m_currentCharacter + k + m_items[i].iCharPos;
+            roundingHackWordBoundaries[clusters[k]] = boundary;
     }
 
     // Populate our glyph buffer with this information.
@@ -303,7 +303,7 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, bool sm
     
     float leftEdge = m_runWidthSoFar;
 
-    for (k = 0; k < glyphs.size(); k++) {
+    for (unsigned k = 0; k < glyphs.size(); k++) {
         Glyph glyph = glyphs[k];
         float advance = advances[k] / 32.0f;
         float offsetX = offsets[k].du / 32.0f;
@@ -364,7 +364,8 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, bool sm
 
         // Check to see if the next character is a "rounding hack character", if so, adjust the
         // width so that the total run width will be on an integer boundary.
-        bool lastGlyph = (k == glyphs.size() - 1) && (m_style.rtl() ? i == 0 : i == m_items.size() - 2) && (m_currentCharacter + len >= m_end);
+        int position = m_currentCharacter + len;
+        bool lastGlyph = (k == glyphs.size() - 1) && (m_style.rtl() ? i == 0 : i == m_items.size() - 2) && (position >= m_end);
         if ((m_style.applyWordRounding() && roundingHackWordBoundaries[k] != -1) ||
             (m_style.applyRunRounding() && lastGlyph)) { 
             float totalWidth = m_runWidthSoFar + advance;
index 8a5332bf24ad244194d6123c4702024505dc1be7..31f8d03a730435604e3d69ab29e14f2b15dd31d5 100644 (file)
@@ -42,7 +42,7 @@ static void doDrawTextAtPoint(GraphicsContext& context, const String& text, cons
     font.drawText(&context, run, style, point);
 
     if (underlinedIndex >= 0) {
-        ASSERT(underlinedIndex < text.length());
+        ASSERT(underlinedIndex < static_cast<int>(text.length()));
 
         int beforeWidth;
         if (underlinedIndex > 0) {
index cecfb3c8f426c483f165a4b377e35ee8932f5fc9..a760d507244aa769c095bad844d5c26a9326cabd 100644 (file)
@@ -222,8 +222,8 @@ static inline Vector<int> parseVersionString(const String& versionString)
 {
     Vector<int> version;
 
-    int startPos = 0;
-    int endPos;
+    unsigned startPos = 0;
+    unsigned endPos;
     
     while (startPos < versionString.length()) {
         for (endPos = startPos; endPos < versionString.length(); ++endPos)
index f29f3bfb984e09bca7f4d365f14a71b704cfc65a..0fde9be523a07fb59a4e9f328de65a33da7265fd 100644 (file)
@@ -74,7 +74,8 @@ static Vector<String> splitString(const String& str, char delimiter, int padTo)
         pos = newPos + 1;
     } while (newPos != -1);
 
-    while (padTo != -1 && result.size() < padTo)
+    int size = result.size();
+    while (padTo != -1 && size < padTo)
         result.append("");
 
     return result;
index 74eda6bb1502532b4320efcd731621f36f8e940e..5a055b5227615a7d939df2fe5dbbe47eca8770ed 100644 (file)
@@ -554,7 +554,7 @@ static void freeStringArray(char** stringArray, int length)
     if (!stringArray)
         return;
 
-    for (unsigned i = 0; i < length; i++)
+    for (int i = 0; i < length; i++)
         fastFree(stringArray[i]);
 
     fastFree(stringArray);
@@ -1069,7 +1069,7 @@ void PluginViewWin::invalidateTimerFired(Timer<PluginViewWin>* timer)
 {
     ASSERT(timer == &m_invalidateTimer);
 
-    for (int i = 0; i < m_invalidRects.size(); i++)
+    for (unsigned i = 0; i < m_invalidRects.size(); i++)
         Widget::invalidateRect(m_invalidRects[i]);
     m_invalidRects.clear();
 }