dlls/gdi32/font.c warning removal

Gerald Pfeifer gerald at pfeifer.com
Fri Jan 4 14:02:13 CST 2008


This patch avoids the following five warnings issues with GCC 4.3
(and -Wextra or -Wtype-limits):

  font.c:1686: warning: comparison of unsigned expression < 0 is always false
  font.c:1687: warning: comparison of unsigned expression < 0 is always false
  font.c:1688: warning: comparison of unsigned expression < 0 is always false
  font.c:1695: warning: comparison of unsigned expression < 0 is always false
  font.c:1704: warning: comparison of unsigned expression < 0 is always false

The reason is that we have

  #define HDPTOLP(y) ((y<0)?                                      \
                (-abs(INTERNAL_YDSTOWS(dc, (y)))):              \
                (abs(INTERNAL_YDSTOWS(dc, (y)))))

which is overly complicated for unsigned types.  We can avoid these 
warnings by using plain INTERNAL_YDSTOWS instead of HDPTOLP here.

Gerald

ChangeLog:
For unsigned types, directly use INTERNAL_YDSTOWS instead of HDPTOLP.

Index: dlls/gdi32/font.c
===================================================================
RCS file: /home/wine/wine/dlls/gdi32/font.c,v
retrieving revision 1.34
diff -u -3 -p -r1.34 font.c
--- dlls/gdi32/font.c	4 Jan 2008 13:14:17 -0000	1.34
+++ dlls/gdi32/font.c	4 Jan 2008 16:49:11 -0000
@@ -1702,16 +1702,16 @@ UINT WINAPI GetOutlineTextMetricsW(
 	    output->otmTextMetrics.tmOverhang         = WDPTOLP(output->otmTextMetrics.tmOverhang);
 	    output->otmAscent = HDPTOLP(output->otmAscent);
 	    output->otmDescent = HDPTOLP(output->otmDescent);
-	    output->otmLineGap = HDPTOLP(output->otmLineGap);
-	    output->otmsCapEmHeight = HDPTOLP(output->otmsCapEmHeight);
-	    output->otmsXHeight = HDPTOLP(output->otmsXHeight);
+	    output->otmLineGap = INTERNAL_YDSTOWS(dc,output->otmLineGap);
+	    output->otmsCapEmHeight = INTERNAL_YDSTOWS(dc,output->otmsCapEmHeight);
+	    output->otmsXHeight = INTERNAL_YDSTOWS(dc,output->otmsXHeight);
 	    output->otmrcFontBox.top = HDPTOLP(output->otmrcFontBox.top);
 	    output->otmrcFontBox.bottom = HDPTOLP(output->otmrcFontBox.bottom);
 	    output->otmrcFontBox.left = WDPTOLP(output->otmrcFontBox.left);
 	    output->otmrcFontBox.right = WDPTOLP(output->otmrcFontBox.right);
 	    output->otmMacAscent = HDPTOLP(output->otmMacAscent);
 	    output->otmMacDescent = HDPTOLP(output->otmMacDescent);
-	    output->otmMacLineGap = HDPTOLP(output->otmMacLineGap);
+	    output->otmMacLineGap = INTERNAL_YDSTOWS(dc,output->otmMacLineGap);
 	    output->otmptSubscriptSize.x = WDPTOLP(output->otmptSubscriptSize.x);
 	    output->otmptSubscriptSize.y = HDPTOLP(output->otmptSubscriptSize.y);
 	    output->otmptSubscriptOffset.x = WDPTOLP(output->otmptSubscriptOffset.x);
@@ -1720,7 +1720,7 @@ UINT WINAPI GetOutlineTextMetricsW(
 	    output->otmptSuperscriptSize.y = HDPTOLP(output->otmptSuperscriptSize.y);
 	    output->otmptSuperscriptOffset.x = WDPTOLP(output->otmptSuperscriptOffset.x);
 	    output->otmptSuperscriptOffset.y = HDPTOLP(output->otmptSuperscriptOffset.y);
-	    output->otmsStrikeoutSize = HDPTOLP(output->otmsStrikeoutSize);
+	    output->otmsStrikeoutSize = INTERNAL_YDSTOWS(dc,output->otmsStrikeoutSize);
 	    output->otmsStrikeoutPosition = HDPTOLP(output->otmsStrikeoutPosition);
 	    output->otmsUnderscoreSize = HDPTOLP(output->otmsUnderscoreSize);
 	    output->otmsUnderscorePosition = HDPTOLP(output->otmsUnderscorePosition);



More information about the wine-patches mailing list