[PATCH] gdi32: Declare our intent explicitly to the compiler.

Michael Stefaniuc mstefani at redhat.com
Wed Feb 17 04:12:50 CST 2016


On 02/17/2016 10:27 AM, Charles Davis wrote:
> Clang warns about this abs(3) call because the argument is of
> unsigned type. Apparently, though, this is actually a signed value
> that just happens to be stored in a DWORD. (Then why is this
> parameter to ExtCreatePen() a DWORD?)
> 
> In any case, quiesce this warning with a cast.
Well, clang is wrong here. abs() takes a signed integer and the
implicit cast from unsigned to signed is perfectly valid C.

The policy in Wine is to not uglify the code just to silence misguided
static analyzers. And other static code checkers might complain about
the superfluous and unneeded explicit cast (I'm working on and off on
that).

bye
	michael

> 
> Signed-off-by: Charles Davis <cdavis5x at gmail.com> --- 
> dlls/gdi32/pen.c | 2 +- 1 file changed, 1 insertion(+), 1
> deletion(-)
> 
> diff --git a/dlls/gdi32/pen.c b/dlls/gdi32/pen.c index
> 2ae2f2b..cf4b080 100644 --- a/dlls/gdi32/pen.c +++
> b/dlls/gdi32/pen.c @@ -195,7 +195,7 @@ HPEN WINAPI ExtCreatePen(
> DWORD style, DWORD width, if (logbrush.lbStyle == BS_DIBPATTERN)
> logbrush.lbStyle = BS_DIBPATTERNPT;
> 
> penPtr->logpen.elpPenStyle = style; -    penPtr->logpen.elpWidth =
> abs(width); +    penPtr->logpen.elpWidth = abs((int)width); 
> penPtr->logpen.elpBrushStyle = logbrush.lbStyle; 
> penPtr->logpen.elpColor = logbrush.lbColor; penPtr->logpen.elpHatch
> = brush->lbHatch;



More information about the wine-devel mailing list