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