pygame-community / pygame-ce

🐍🎮 pygame - Community Edition is a FOSS Python library for multimedia applications (like games). Built on top of the excellent SDL library.
https://pyga.me
929 stars 154 forks source link

cppchecker (1333) #777

Closed GalacticEmperor1 closed 1 year ago

GalacticEmperor1 commented 1 year ago

Issue №1333 opened by illume at 2019-09-24 10:32:44

Cppcheck is an analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behaviour and dangerous coding constructs. The goal is to detect only real errors in the code (i.e. have very few false positives).

You will find more bugs in your software by testing your software carefully, thanby using Cppcheck.

To Install cppcheck

http://cppcheck.sourceforge.net/ and https://github.com/danmar/cppcheck The manual can be found here: http://cppcheck.net/manual.pdf

brew install cppcheck bear
sudo apt-get install cppcheck bear

To run cppcheck on C code.

You can use bear (the build ear) tool to record a compilation database (compile_commands.json). cppcheck can then know what c files and header files you are using.

#  call your build tool, like `bear make` to record. 
#  See cppcheck manual for other C environments including Visual Studio.
bear python setup.py build
cppcheck --quiet --language=c --enable=all -D__x86_64__ -D__LP64__ --project=compile_commands.json

It does seem to find some errors, and style improvements that other tools do not suggest. Note that you can control the level of issues found to errors, to portability and style issues plus more. See cppcheck --help and the manual for more details about --enable options.

For example these ones from the pygame code base:

[src_c/math.c:1134]: (style) The function 'vector_getw' is never used.
[src_c/base.c:1309]: (error) Pointer addition with NULL pointer.
[src_c/scrap_qnx.c:109]: (portability) Assigning a pointer to an integer is not portable.
[src_c/surface.c:832] -> [src_c/surface.c:819]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf.

cppcheck reports 942 things in the pygame codebase. (633 without cython related things).


Comments

*illume commented at 2019-09-28 21:50:37*

Here's the log from cppcheck.

``` [src_c/rotozoom.c:291] -> [src_c/rotozoom.c:292]: (style) Variable 'sp' is reassigned a value before the old one has been used. [src_c/rotozoom.c:44]: (style) The scope of the variable 'ex' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 'ey' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 't1' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 't2' can be reduced. [src_c/rotozoom.c:45]: (style) The scope of the variable 'sstep' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c00' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c01' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c11' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 't1' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 't2' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 'ex' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 'ey' can be reduced. [src_c/rotozoom.c:513]: (style) The scope of the variable 'sanglezoominv' can be reduced. [src_c/rotozoom.c:513]: (style) The scope of the variable 'canglezoominv' can be reduced. [src_c/rotozoom.c:514]: (style) The scope of the variable 'dstwidthhalf' can be reduced. [src_c/rotozoom.c:514]: (style) The scope of the variable 'dstheighthalf' can be reduced. [src_c/rotozoom.c:102]: (style) Variable 'sp' is assigned a value that is never used. [src_c/rotozoom.c:104]: (style) Variable 'sgap' is assigned a value that is never used. [src_c/rotozoom.c:544]: (style) Variable 'is32bit' is assigned a value that is never used. [src_c/mouse.c:283] -> [src_c/mouse.c:284]: (warning) Either the condition '!anddata' is redundant or there is possible null pointer dereference: anddata. [src_c/surface.c:832] -> [src_c/surface.c:819]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:918] -> [src_c/surface.c:908]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:995] -> [src_c/surface.c:987]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1150] -> [src_c/surface.c:1143]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1188] -> [src_c/surface.c:1181]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1231] -> [src_c/surface.c:1221]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1315] -> [src_c/surface.c:1307]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:2261]: (warning) Possible null pointer dereference: srcobject [src_c/surface.c:2924] -> [src_c/surface.c:2903]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:820] -> [src_c/surface.c:849]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:988] -> [src_c/surface.c:1012]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:2904] -> [src_c/surface.c:2943]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:3780] -> [src_c/surface.c:3799]: (style) Variable 'srcy' is reassigned a value before the old one has been used. [src_c/surface.c:523]: (style) The scope of the variable 'type' can be reduced. [src_c/surface.c:1122]: (style) The scope of the variable 'tmp' can be reduced. [src_c/surface.c:1224]: (style) The scope of the variable 'item' can be reduced. [src_c/surface.c:1227]: (style) The scope of the variable 'ecode' can be reduced. [src_c/surface.c:1367]: (style) The scope of the variable 'rgba' can be reduced. [src_c/surface.c:1920]: (style) The scope of the variable 'src' can be reduced. [src_c/surface.c:1967]: (style) The scope of the variable 'item' can be reduced. [src_c/surface.c:2018]: (style) The scope of the variable 'result' can be reduced. [src_c/surface.c:760]: (style) Clarify calculation precedence for '&' and '?'. [src_c/surface.c:1948]: (style) Variable 'src' is assigned a value that is never used. [src_c/freetype/ft_unicode.c:55]: (style) The scope of the variable 'j' can be reduced. [src_c/draw.c:1543] -> [src_c/draw.c:1546]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1543] -> [src_c/draw.c:1547]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1602] -> [src_c/draw.c:1605]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1602] -> [src_c/draw.c:1606]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1674] -> [src_c/draw.c:1677]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1674] -> [src_c/draw.c:1678]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:285]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:399]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:609]: (style) The scope of the variable 'loop' can be reduced. [src_c/draw.c:760]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:1094]: (style) The scope of the variable 'code1' can be reduced. [src_c/draw.c:1155]: (style) The scope of the variable 'code1' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'xgap' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'ygap' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'xf' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'yf' can be reduced. [src_c/draw.c:1496]: (style) The scope of the variable 'swaptmp' can be reduced. [src_c/draw.c:1716]: (style) The scope of the variable 'x_next' can be reduced. [src_c/draw.c:1716]: (style) The scope of the variable 'y_next' can be reduced. [src_c/draw.c:1769]: (style) The scope of the variable 'radius1' can be reduced. [src_c/draw.c:141]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:222]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:300]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:416]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:557]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:627]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:705]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:786]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:855] -> [src_c/draw.c:532]: (style) Local variable 'rect' shadows outer function [src_c/draw.c:855] -> [src_c/draw.c:605]: (style) Local variable 'rect' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1091]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1152]: (style) Local variable 'y1' shadows outer function [src_c/draw.c:855] -> [src_c/draw.c:1333]: (style) Local variable 'rect' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1769]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1836]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:2009]: (style) Local variable 'y1' shadows outer function [src_c/draw.c:1116]: (style) Variable 'code2' is assigned a value that is never used. [src_c/draw.c:1175]: (style) Variable 'code2' is assigned a value that is never used. [src_c/freetype/ft_cache.c:102]: (style) The scope of the variable 'k1' can be reduced. [src_c/freetype/ft_cache.c:175]: (style) The scope of the variable 'i' can be reduced. [src_c/mask.c:1837] -> [src_c/mask.c:1887]: (warning) Either the condition '((void*)0)!=unsetsurf' is redundant or there is possible null pointer dereference: unsetsurf. [src_c/mask.c:380]: (style) The scope of the variable 'xc' can be reduced. [src_c/mask.c:380]: (style) The scope of the variable 'yc' can be reduced. [src_c/mask.c:382]: (style) The scope of the variable 'theta' can be reduced. [src_c/mask.c:1350]: (style) The scope of the variable 'rect' can be reduced. [src_c/mask.c:1869]: (style) The scope of the variable 'use_setsurf' can be reduced. [src_c/mask.c:1869]: (style) The scope of the variable 'use_unsetsurf' can be reduced. [src_c/mask.c:795]: (style) Variable 'pixels' is assigned a value that is never used. [src_c/mask.c:989]: (style) Variable 'bpp' is assigned a value that is never used. [src_c/mask.c:1869]: (style) Variable 'use_setsurf' is assigned a value that is never used. [src_c/mask.c:1869]: (style) Variable 'use_unsetsurf' is assigned a value that is never used. ^C 15:57:25-rene~/dev/pygame/pygame (master)$ cp compile_commands.json.bak compile_commands.json 15:57:32-rene~/dev/pygame/pygame (master)$ cppcheck --quiet --language=c --enable=all -D__x86_64__ -D__LP64__ --project=compile_commands.json [src_c/_sprite.c:29007]: (style) Condition 'tstate->curexc_type' is always false [src_c/_sprite.c:30334]: (style) Condition '!module' is always true [src_c/_sprite.c:31364]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sprite.c:31365]: (style) Condition 'is_unsigned' is always false [src_c/_sprite.c:31395]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sprite.c:31396]: (style) Condition 'is_unsigned' is always false [src_c/_sprite.c:31426]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sprite.c:31615]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sprite.c:28518] -> [src_c/_sprite.c:28524]: (warning) Either the condition 'pvalue' is redundant or there is possible null pointer dereference: pvalue. [src_c/_sprite.c:2788]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:2992]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:5850]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6031]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6039]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6320]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6518]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6526]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:6816]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7042]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7050]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7338]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7516]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7788]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7888]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:7896]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:8039]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:8142]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:8150]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:8338]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:9340]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:11543]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:11726]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:11734]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:12543]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:13030]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:13038]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:14409]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:14691]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:14699]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:15369]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:15377]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:16380]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:16930]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:17030]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:17274]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:17282]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:17808]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23055]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23063]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23259]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23267]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23428]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23436]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23561]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23569]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23846]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:23854]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24032]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24040]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24334]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24342]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24498]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:24506]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:31397]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:31407]: (style) Same expression on both sides of '<='. [src_c/_sprite.c:31618]: (style) Same expression on both sides of '<'. [src_c/_sprite.c:31748]: (style) Same expression on both sides of '<='. [src_c/_sprite.c:32108]: (style) Same expression on both sides of '>='. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sprite.c:15421]: (style) Local variable 'index' shadows outer function [src_c/_sprite.c:27975] -> [src_c/_sprite.c:27978]: (style) Local variable 'args' shadows outer variable [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sprite.c:28391]: (style) Local variable 'index' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/_sprite.c:30240]: (style) Local variable 'setstate' shadows outer function [src_c/_sprite.c:572]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sprite.c:573]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sprite.c:574]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/_sprite.c:4453]: (style) Variable '__pyx_v_groups' is assigned a value that is never used. [src_c/_sprite.c:24641]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sprite.c:24889]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sprite.c:25391]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sprite.c:26783]: (style) Variable '__pyx_t_1' is assigned a value that is never used. [src_c/_sprite.c:26817]: (style) Variable '__pyx_t_1' is assigned a value that is never used. [src_c/rotozoom.c:291] -> [src_c/rotozoom.c:292]: (style) Variable 'sp' is reassigned a value before the old one has been used. [src_c/rotozoom.c:44]: (style) The scope of the variable 'ex' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 'ey' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 't1' can be reduced. [src_c/rotozoom.c:44]: (style) The scope of the variable 't2' can be reduced. [src_c/rotozoom.c:45]: (style) The scope of the variable 'sstep' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c00' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c01' can be reduced. [src_c/rotozoom.c:46]: (style) The scope of the variable 'c11' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 't1' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 't2' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 'ex' can be reduced. [src_c/rotozoom.c:231]: (style) The scope of the variable 'ey' can be reduced. [src_c/rotozoom.c:513]: (style) The scope of the variable 'sanglezoominv' can be reduced. [src_c/rotozoom.c:513]: (style) The scope of the variable 'canglezoominv' can be reduced. [src_c/rotozoom.c:514]: (style) The scope of the variable 'dstwidthhalf' can be reduced. [src_c/rotozoom.c:514]: (style) The scope of the variable 'dstheighthalf' can be reduced. [src_c/rotozoom.c:102]: (style) Variable 'sp' is assigned a value that is never used. [src_c/rotozoom.c:104]: (style) Variable 'sgap' is assigned a value that is never used. [src_c/rotozoom.c:544]: (style) Variable 'is32bit' is assigned a value that is never used. [src_c/mouse.c:283] -> [src_c/mouse.c:284]: (warning) Either the condition '!anddata' is redundant or there is possible null pointer dereference: anddata. [src_c/surface.c:832] -> [src_c/surface.c:819]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:918] -> [src_c/surface.c:908]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:995] -> [src_c/surface.c:987]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1150] -> [src_c/surface.c:1143]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1188] -> [src_c/surface.c:1181]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1231] -> [src_c/surface.c:1221]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:1315] -> [src_c/surface.c:1307]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:2261]: (warning) Possible null pointer dereference: srcobject [src_c/surface.c:2924] -> [src_c/surface.c:2903]: (warning) Either the condition '!surf' is redundant or there is possible null pointer dereference: surf. [src_c/surface.c:820] -> [src_c/surface.c:849]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:988] -> [src_c/surface.c:1012]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:2904] -> [src_c/surface.c:2943]: (style) Variable 'pixels' is reassigned a value before the old one has been used. [src_c/surface.c:3780] -> [src_c/surface.c:3799]: (style) Variable 'srcy' is reassigned a value before the old one has been used. [src_c/surface.c:523]: (style) The scope of the variable 'type' can be reduced. [src_c/surface.c:1122]: (style) The scope of the variable 'tmp' can be reduced. [src_c/surface.c:1224]: (style) The scope of the variable 'item' can be reduced. [src_c/surface.c:1227]: (style) The scope of the variable 'ecode' can be reduced. [src_c/surface.c:1367]: (style) The scope of the variable 'rgba' can be reduced. [src_c/surface.c:1920]: (style) The scope of the variable 'src' can be reduced. [src_c/surface.c:1967]: (style) The scope of the variable 'item' can be reduced. [src_c/surface.c:2018]: (style) The scope of the variable 'result' can be reduced. [src_c/surface.c:760]: (style) Clarify calculation precedence for '&' and '?'. [src_c/surface.c:1948]: (style) Variable 'src' is assigned a value that is never used. [src_c/freetype/ft_unicode.c:55]: (style) The scope of the variable 'j' can be reduced. [src_c/draw.c:1543] -> [src_c/draw.c:1546]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1543] -> [src_c/draw.c:1547]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1602] -> [src_c/draw.c:1605]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1602] -> [src_c/draw.c:1606]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1674] -> [src_c/draw.c:1677]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:1674] -> [src_c/draw.c:1678]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/draw.c:285]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:399]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:609]: (style) The scope of the variable 'loop' can be reduced. [src_c/draw.c:760]: (style) The scope of the variable 'result' can be reduced. [src_c/draw.c:1094]: (style) The scope of the variable 'code1' can be reduced. [src_c/draw.c:1155]: (style) The scope of the variable 'code1' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'xgap' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'ygap' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'xf' can be reduced. [src_c/draw.c:1327]: (style) The scope of the variable 'yf' can be reduced. [src_c/draw.c:1496]: (style) The scope of the variable 'swaptmp' can be reduced. [src_c/draw.c:1716]: (style) The scope of the variable 'x_next' can be reduced. [src_c/draw.c:1716]: (style) The scope of the variable 'y_next' can be reduced. [src_c/draw.c:1769]: (style) The scope of the variable 'radius1' can be reduced. [src_c/draw.c:141]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:222]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:300]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:416]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:557]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:627]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:705]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:786]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/draw.c:855] -> [src_c/draw.c:532]: (style) Local variable 'rect' shadows outer function [src_c/draw.c:855] -> [src_c/draw.c:605]: (style) Local variable 'rect' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1091]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1152]: (style) Local variable 'y1' shadows outer function [src_c/draw.c:855] -> [src_c/draw.c:1333]: (style) Local variable 'rect' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1769]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:1836]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/draw.c:2009]: (style) Local variable 'y1' shadows outer function [src_c/draw.c:1116]: (style) Variable 'code2' is assigned a value that is never used. [src_c/draw.c:1175]: (style) Variable 'code2' is assigned a value that is never used. [src_c/freetype/ft_cache.c:102]: (style) The scope of the variable 'k1' can be reduced. [src_c/freetype/ft_cache.c:175]: (style) The scope of the variable 'i' can be reduced. [src_c/mask.c:1837] -> [src_c/mask.c:1887]: (warning) Either the condition '((void*)0)!=unsetsurf' is redundant or there is possible null pointer dereference: unsetsurf. [src_c/mask.c:380]: (style) The scope of the variable 'xc' can be reduced. [src_c/mask.c:380]: (style) The scope of the variable 'yc' can be reduced. [src_c/mask.c:382]: (style) The scope of the variable 'theta' can be reduced. [src_c/mask.c:1350]: (style) The scope of the variable 'rect' can be reduced. [src_c/mask.c:1869]: (style) The scope of the variable 'use_setsurf' can be reduced. [src_c/mask.c:1869]: (style) The scope of the variable 'use_unsetsurf' can be reduced. [src_c/mask.c:795]: (style) Variable 'pixels' is assigned a value that is never used. [src_c/mask.c:989]: (style) Variable 'bpp' is assigned a value that is never used. [src_c/mask.c:1869]: (style) Variable 'use_setsurf' is assigned a value that is never used. [src_c/mask.c:1869]: (style) Variable 'use_unsetsurf' is assigned a value that is never used. [src_c/_sdl2/video.c:20561]: (style) Condition 'tstate->curexc_type' is always false [src_c/_sdl2/video.c:20656]: (style) Condition '!module' is always true [src_c/_sdl2/video.c:22443]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:22444]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/video.c:22474]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/video.c:22475]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/video.c:22527]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:22528]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/video.c:22558]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/video.c:22559]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/video.c:22589]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:22590]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/video.c:22620]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:22809]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/video.c:22998]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/video.c:23187]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:23376]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:23565]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/video.c:24072] -> [src_c/_sdl2/video.c:24088]: (style) The if condition is the same as the previous if condition [src_c/_sdl2/video.c:21089] -> [src_c/_sdl2/video.c:21095]: (warning) Either the condition 'pvalue' is redundant or there is possible null pointer dereference: pvalue. [src_c/_sdl2/video.c:3539]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:3547]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:3652]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:4393]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:4401]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:16532]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:16540]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:22529]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:22539]: (style) Same expression on both sides of '<='. [src_c/_sdl2/video.c:23568]: (style) Same expression on both sides of '<'. [src_c/_sdl2/video.c:23698]: (style) Same expression on both sides of '<='. [src_c/_sdl2/video.c:25037]: (style) Same expression on both sides of '>='. [src_c/_sdl2/video.c:17609]: (style) The scope of the variable 'e' can be reduced. [src_c/_sdl2/video.c:23893]: (style) The scope of the variable 'result' can be reduced. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/video.c:4212]: (style) Local variable 'index' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/video.c:4445]: (style) Local variable 'index' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/video.c:6729]: (style) Local variable 'index' shadows outer function [src_c/_sdl2/video.c:19778] -> [src_c/_sdl2/video.c:19781]: (style) Local variable 'args' shadows outer variable [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/video.c:20962]: (style) Local variable 'index' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/_sdl2/video.c:21388]: (style) Local variable 'setstate' shadows outer function [src_c/_sdl2/video.c:562]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sdl2/video.c:563]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sdl2/video.c:564]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/_sdl2/video.c:2746]: (style) Variable '__pyx_t_2' is assigned a value that is never used. [src_c/_sdl2/video.c:4042]: (style) Variable '__pyx_v_kwargs' is assigned a value that is never used. [src_c/_sdl2/video.c:17146]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sdl2/video.c:17345]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sdl2/video.c:18463]: (style) Variable '__pyx_t_1' is assigned a value that is never used. [src_c/_sdl2/video.c:18497]: (style) Variable '__pyx_t_1' is assigned a value that is never used. [src_c/rwobject.c:75]: (style) The scope of the variable 'oname' can be reduced. [src_c/rwobject.c:156]: (style) The scope of the variable 'oencoded' can be reduced. [src_c/rwobject.c:160]: (style) The scope of the variable 'str' can be reduced. [src_c/rwobject.c:374]: (style) The scope of the variable 'result' can be reduced. [src_c/alphablit.c:1245] -> [src_c/alphablit.c:1245]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1245] -> [src_c/alphablit.c:1245]: (warning) Variable 'dA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1441] -> [src_c/alphablit.c:1441]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1441] -> [src_c/alphablit.c:1441]: (warning) Variable 'dA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1640] -> [src_c/alphablit.c:1640]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1640] -> [src_c/alphablit.c:1640]: (warning) Variable 'dA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1842] -> [src_c/alphablit.c:1842]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:1842] -> [src_c/alphablit.c:1842]: (warning) Variable 'dA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:2043] -> [src_c/alphablit.c:2043]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:2043] -> [src_c/alphablit.c:2043]: (warning) Variable 'dA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:2415] -> [src_c/alphablit.c:2415]: (style) Variable 'sA' is reassigned a value before the old one has been used. [src_c/alphablit.c:2446] -> [src_c/alphablit.c:2446]: (style) Variable 'sA' is reassigned a value before the old one has been used. [src_c/alphablit.c:2486] -> [src_c/alphablit.c:2486]: (style) Variable 'sA' is reassigned a value before the old one has been used. [src_c/alphablit.c:2525] -> [src_c/alphablit.c:2525]: (style) Variable 'sA' is reassigned a value before the old one has been used. [src_c/alphablit.c:2568] -> [src_c/alphablit.c:2568]: (style) Variable 'sA' is reassigned a value before the old one has been used. [src_c/alphablit.c:2646] -> [src_c/alphablit.c:2646]: (warning) Variable 'sA' is reassigned a value before the old one has been used. 'break;' missing? [src_c/alphablit.c:615]: (style) The scope of the variable 'tmp' can be reduced. [src_c/alphablit.c:1579]: (style) The scope of the variable 'tmp' can be reduced. [src_c/alphablit.c:268]: (style) Label 'LEAVE' is not used. [src_c/math.c:391]: (style) The scope of the variable 'tmp' can be reduced. [src_c/math.c:500]: (style) The scope of the variable 'error_code' can be reduced. [src_c/math.c:501]: (style) The scope of the variable 'end_pos' can be reduced. [src_c/math.c:752]: (style) The scope of the variable 'i' can be reduced. [src_c/math.c:1013]: (style) The scope of the variable 'i' can be reduced. [src_c/math.c:1475]: (style) The scope of the variable 'tmp' can be reduced. [src_c/math.c:2389]: (style) The scope of the variable 'sinValue' can be reduced. [src_c/math.c:2389]: (style) The scope of the variable 'cosValue' can be reduced. [src_c/math.c:2389]: (style) The scope of the variable 'cosComplement' can be reduced. [src_c/math.c:2390]: (style) The scope of the variable 'normalizationFactor' can be reduced. [src_c/math.c:3262]: (style) The scope of the variable 'other_coords' can be reduced. [src_c/math.c:3760]: (style) The scope of the variable 'i' can be reduced. [src_c/math.c:1013] -> [src_c/math.c:1054]: (style) Local variable 'i' shadows outer variable [src_c/freetype/ft_layout.c:200]: (style) The scope of the variable 'id' can be reduced. [src_c/freetype/ft_layout.c:202]: (style) The scope of the variable 'ch' can be reduced. [src_c/freetype/ft_layout.c:303]: (style) The scope of the variable 'glyph_width' can be reduced. [src_c/freetype/ft_layout.c:304]: (style) The scope of the variable 'glyph_height' can be reduced. [src_c/freetype/ft_layout.c:408]: (style) The scope of the variable 'BASELINE' can be reduced. [src_c/freetype/ft_layout.c:518]: (style) Clarify calculation precedence for '&' and '?'. [src_c/freetype/ft_layout.c:204]: (style) Variable 'error' is assigned a value that is never used. [src_c/freetype/ft_layout.c:282]: (style) Variable 'glyph' is assigned a value that is never used. [src_c/display.c:1431]: (style) The scope of the variable 'size' can be reduced. [src_c/display.c:1532]: (style) The scope of the variable 'obj' can be reduced. [src_c/display.c:1598]: (style) The scope of the variable 'r' can be reduced. [src_c/display.c:1872]: (style) The scope of the variable 'item' can be reduced. [/usr/local/include/png.h:950]: (error) Analysis failed. If the code is valid then please report this failure. [src_c/_freetype.c:1165]: (style) The scope of the variable 'name' can be reduced. [src_c/_freetype.c:2052]: (style) The scope of the variable 'result' can be reduced. [src_c/_freetype.c:749]: (style) Clarify calculation precedence for '&' and '?'. [src_c/_sdl2/audio.c:4921]: (style) Condition '!(((long)-1)>0)' is always true [src_c/_sdl2/audio.c:4921]: (style) Condition '((long)-1)>0' is always false [src_c/_sdl2/audio.c:12730]: (style) Condition '!(((long)-1)>0)' is always true [src_c/_sdl2/audio.c:12730]: (style) Condition '((long)-1)>0' is always false [src_c/_sdl2/audio.c:20613]: (style) Condition 'tstate->curexc_type' is always false [src_c/_sdl2/audio.c:21236]: (style) Condition '!module' is always true [src_c/_sdl2/audio.c:21982]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/audio.c:21983]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/audio.c:22013]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/audio.c:22014]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/audio.c:22066]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/audio.c:22067]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/audio.c:22109]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/audio.c:22110]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/audio.c:22251]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/audio.c:22440]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/audio.c:22629]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/audio.c:22818]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/audio.c:23007]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/audio.c:23008]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/audio.c:23038]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/audio.c:11798] -> [src_c/_sdl2/audio.c:11807]: (style) The if condition is the same as the previous if condition [src_c/_sdl2/audio.c:2680]: (warning) Possible null pointer dereference: __pyx_t_1 [src_c/_sdl2/audio.c:13990]: (warning) Possible null pointer dereference: __pyx_v_obj [src_c/_sdl2/audio.c:4629]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:4921]: (style) Same expression on both sides of '=='. [src_c/_sdl2/audio.c:7212]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:7220]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:10903]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:10911]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:11509]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:11517]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:11991]: (style) Same expression on both sides of '!='. [src_c/_sdl2/audio.c:12730]: (style) Same expression on both sides of '=='. [src_c/_sdl2/audio.c:22821]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:22951]: (style) Same expression on both sides of '<='. [src_c/_sdl2/audio.c:23009]: (style) Same expression on both sides of '<'. [src_c/_sdl2/audio.c:23019]: (style) Same expression on both sides of '<='. [src_c/_sdl2/audio.c:24190]: (style) Same expression on both sides of '>='. [src_c/_sdl2/audio.c:14004]: (style) The scope of the variable '__pyx_v_dim' can be reduced. [src_c/_sdl2/audio.c:17745]: (style) The scope of the variable 'e' can be reduced. [src_c/_sdl2/audio.c:21912]: (style) The scope of the variable 'index' can be reduced. [src_c/_sdl2/audio.c:19968] -> [src_c/_sdl2/audio.c:19971]: (style) Local variable 'args' shadows outer variable [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/_sdl2/audio.c:21609]: (style) Local variable 'setstate' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/audio.c:21912]: (style) Local variable 'index' shadows outer function [src_c/_sdl2/audio.c:567]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sdl2/audio.c:568]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sdl2/audio.c:569]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/_sdl2/audio.c:1659]: (style) struct member '__Pyx_LocalBuf_ND::rcbuffer' is never used. [src_c/_sdl2/audio.c:14751]: (style) Variable '__pyx_v_i' is assigned a value that is never used. [src_c/_sdl2/audio.c:16598]: (style) Variable '__pyx_v_i' is assigned a value that is never used. [src_c/_sdl2/audio.c:17381]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sdl2/audio.c:17557]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sdl2/audio.c:17845]: (style) Variable 'o' is assigned a value that is never used. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/touch.c:91]: (style) Local variable 'index' shadows outer function [src_c/time.c:255]: (portability) Assigning a pointer to an integer is not portable. [src_c/fastevent.c:200]: (style) The scope of the variable 'e' can be reduced. [src_c/fastevent.c:201]: (style) The scope of the variable 'status' can be reduced. [src_c/fastevent.c:311]: (style) The scope of the variable 'ecode' can be reduced. [src_c/bufferproxy.c:89]: (style) The scope of the variable 'py_rval' can be reduced. [src_c/bufferproxy.c:147]: (style) The scope of the variable 'py_rval' can be reduced. [src_c/font.c:552]: (style) The scope of the variable 'ch' can be reduced. [src_c/font.c:554]: (style) The scope of the variable 'surrogate' can be reduced. [src_c/font.c:448]: (error) Uninitialized struct member: foreg.a [src_c/font.c:451]: (error) Uninitialized struct member: foreg.a [src_c/font.c:455]: (error) Uninitialized struct member: foreg.a [src_c/font.c:468]: (error) Uninitialized struct member: foreg.a [src_c/font.c:471]: (error) Uninitialized struct member: foreg.a [src_c/font.c:475]: (error) Uninitialized struct member: foreg.a [src_c/font.c:451]: (error) Uninitialized struct member: backg.a [src_c/font.c:471]: (error) Uninitialized struct member: backg.a [src_c/mixer.c:192]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:197]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:201]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:206]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:210]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:215]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:219]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:232]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:236]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:241]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:245]: (style) Same value in both branches of ternary operator. [src_c/mixer.c:897]: (style) The scope of the variable 'samples' can be reduced. [src_c/mixer.c:1343]: (style) The scope of the variable 'i' can be reduced. [src_c/mixer.c:1799]: (style) The scope of the variable 'rcode' can be reduced. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/mixer.c:147]: (style) Local variable 'index' shadows outer function [src_c/mixer.c:561]: (style) Clarify calculation precedence for '&' and '?'. [src_c/bitmask.c:360]: (style) The scope of the variable 'a_end' can be reduced. [src_c/bitmask.c:360]: (style) The scope of the variable 'bp' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'shift' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'rshift' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'i' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'astripes' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'bstripes' can be reduced. [src_c/bitmask.c:361]: (style) The scope of the variable 'xbase' can be reduced. [src_c/bitmask.c:561]: (style) The scope of the variable 'a_end' can be reduced. [src_c/bitmask.c:562]: (style) The scope of the variable 'b_end' can be reduced. [src_c/bitmask.c:563]: (style) The scope of the variable 'c_end' can be reduced. [src_c/bitmask.c:743]: (style) The scope of the variable 'b_end' can be reduced. [src_c/bitmask.c:890]: (style) The scope of the variable 'a_end' can be reduced. [src_c/bitmask.c:891]: (style) The scope of the variable 'b_end' can be reduced. [src_c/rect.c:349]: (style) The scope of the variable 'argrect' can be reduced. [src_c/rect.c:351]: (style) The scope of the variable 'obj' can be reduced. [src_c/rect.c:395]: (style) The scope of the variable 'argrect' can be reduced. [src_c/rect.c:397]: (style) The scope of the variable 'obj' can be reduced. [src_c/rect.c:474]: (style) The scope of the variable 'argrect' can be reduced. [src_c/rect.c:477]: (style) The scope of the variable 'obj' can be reduced. [src_c/rect.c:516]: (style) The scope of the variable 'argrect' can be reduced. [src_c/rect.c:519]: (style) The scope of the variable 'obj' can be reduced. [src_c/rect.c:952]: (style) The scope of the variable 'n' can be reduced. [src_c/rect.c:1015]: (style) The scope of the variable 'item' can be reduced. [src_c/rect.c:1049]: (style) The scope of the variable 'i' can be reduced. [src_c/rect.c:1067]: (style) The scope of the variable 'item' can be reduced. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/rect.c:932]: (style) Local variable 'index' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/rect.c:986]: (style) Local variable 'index' shadows outer function [src_c/rect.c:1049] -> [src_c/rect.c:1069]: (style) Local variable 'i' shadows outer variable [src_c/rect.c:1068]: (style) Variable 'values' is not assigned a value. [src_c/gfxdraw.c:127]: (style) The scope of the variable 'intobj' can be reduced. [src_c/gfxdraw.c:128]: (style) The scope of the variable 'tmp' can be reduced. [src_c/gfxdraw.c:687]: (style) The scope of the variable 'item' can be reduced. [src_c/gfxdraw.c:765]: (style) The scope of the variable 'item' can be reduced. [src_c/gfxdraw.c:843]: (style) The scope of the variable 'item' can be reduced. [src_c/gfxdraw.c:922]: (style) The scope of the variable 'item' can be reduced. [src_c/gfxdraw.c:1009]: (style) The scope of the variable 'item' can be reduced. [src_c/gfxdraw.c:1130]: (style) Variable 'module' is assigned a value that is never used. [src_c/pixelcopy.c:282]: (style) The scope of the variable 'colorkey' can be reduced. [src_c/pixelcopy.c:511]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/pixelcopy.c:1086]: (style) Variable 'pixel.value' is assigned a value that is never used. [src_c/event.c:290]: (style) The scope of the variable 'kill' can be reduced. [src_c/event.c:1325]: (style) The scope of the variable 'e' can be reduced. [src_c/event.c:1653]: (style) The scope of the variable 'num' can be reduced. [src_c/event.c:1654]: (style) The scope of the variable 'loop' can be reduced. [src_c/event.c:1698]: (style) The scope of the variable 'num' can be reduced. [src_c/event.c:1699]: (style) The scope of the variable 'loop' can be reduced. [src_c/event.c:1743]: (style) The scope of the variable 'num' can be reduced. [src_c/event.c:1744]: (style) The scope of the variable 'loop' can be reduced. [src_c/transform.c:401] -> [src_c/transform.c:401]: (error) The address of local variable 'bgcolor' is accessed at non-zero index. [src_c/transform.c:402] -> [src_c/transform.c:402]: (error) The address of local variable 'bgcolor' is accessed at non-zero index. [src_c/transform.c:119]: (style) The scope of the variable 'result' can be reduced. [src_c/transform.c:593]: (style) The scope of the variable 'width' can be reduced. [src_c/transform.c:593]: (style) The scope of the variable 'height' can be reduced. [src_c/transform.c:1323]: (style) The scope of the variable 'tempheight' can be reduced. [src_c/transform.c:1716]: (style) The scope of the variable 'rgba_color' can be reduced. [src_c/transform.c:1755]: (style) The scope of the variable 'rgba_set_color_default' can be reduced. [src_c/transform.c:2184]: (style) The scope of the variable 'width' can be reduced. [src_c/transform.c:2184]: (style) The scope of the variable 'height' can be reduced. [src_c/transform.c:2260]: (style) The scope of the variable 'pixels' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'rshift' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'gshift' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'bshift' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'rloss' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'gloss' can be reduced. [src_c/transform.c:2265]: (style) The scope of the variable 'bloss' can be reduced. [src_c/transform.c:2428]: (style) The scope of the variable 'obj' can be reduced. [src_c/transform.c:122]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/transform.c:661]: (style) Checking if unsigned expression 'surf->format->BytesPerPixel' is less than zero. [src_c/transform.c:1323]: (style) Variable 'tempheight' is assigned a value that is never used. [src_c/transform.c:1640]: (style) Variable 'pixels' is assigned a value that is never used. [src_c/transform.c:1645]: (style) Variable 'destformat' is assigned a value that is never used. [src_c/color.c:1090] -> [src_c/color.c:1092]: (warning) Either the condition '!item' is redundant or there is possible null pointer dereference: item. [src_c/color.c:1253] -> [src_c/color.c:1255]: (warning) Either the condition '!item' is redundant or there is possible null pointer dereference: item. [src_c/color.c:2021] -> [src_c/color.c:2026]: (style) Variable 'view->ndim' is reassigned a value before the old one has been used. [src_c/pixelarray.c:871]: (style) Assignment of function parameter has no effect outside the function. [src_c/pixelarray_methods.c:303]: (style) The scope of the variable 'item' can be reduced. [src_c/pixelarray.c:1144]: (style) The scope of the variable 'item' can be reduced. [src_c/pixelarray.c:1350]: (style) The scope of the variable 'tmparray' can be reduced. [src_c/pixelarray.c:1351]: (style) The scope of the variable 'retval' can be reduced. [src_c/pixelarray_methods.c:443]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:468]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:504]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:533]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:649]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:677]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:722]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:761]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:904]: (style) Variable 'a1' is assigned a value that is never used. [src_c/pixelarray_methods.c:905]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:942]: (style) Variable 'a1' is assigned a value that is never used. [src_c/pixelarray_methods.c:944]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray_methods.c:1047]: (style) Variable 'a1' is assigned a value that is never used. [src_c/pixelarray_methods.c:1048]: (style) Variable 'a2' is assigned a value that is never used. [src_c/pixelarray.c:871]: (style) Variable 'ystop' is assigned a value that is never used. [src_c/music.c:286]: (style) The scope of the variable 'rw' can be reduced. [src_c/music.c:364]: (style) The scope of the variable 'rw' can be reduced. [src_c/freetype/ft_wrap.c:287]: (style) The scope of the variable 'i' can be reduced. [src_c/freetype/ft_wrap.c:288]: (style) The scope of the variable 'size' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1205] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:1209]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1393] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:1397]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2144] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:2148]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2341] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:2345]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2885] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:2889]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3250] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:3254]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3733] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:3737]: (error) The address of local variable 'color' is accessed at non-zero index. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2074] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:2096]: (warning) Identical condition 'x2 [src_c/SDL_gfx/SDL_gfxPrimitives.c:2106]: (warning) Identical condition 'y2 [src_c/SDL_gfx/SDL_gfxPrimitives.c:5450]: (style) Variable 'source_rect.x' is reassigned a value before the old one has been used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6582] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:6583]: (style) Variable 'y1' is reassigned a value before the old one has been used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:66]: (style) The scope of the variable 'bpp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:67]: (style) The scope of the variable 'p' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:267]: (style) The scope of the variable 'Rshift' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:267]: (style) The scope of the variable 'Gshift' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:267]: (style) The scope of the variable 'Bshift' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:267]: (style) The scope of the variable 'Ashift' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:268]: (style) The scope of the variable 'R' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:268]: (style) The scope of the variable 'G' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:268]: (style) The scope of the variable 'B' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:268]: (style) The scope of the variable 'A' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:565]: (style) The scope of the variable 'sA' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:926]: (style) The scope of the variable 'color' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:977]: (style) The scope of the variable 'xtmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1136]: (style) The scope of the variable 'pixellast' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1138]: (style) The scope of the variable 'pixx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1138]: (style) The scope of the variable 'pixy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1139]: (style) The scope of the variable 'xtmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1141]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1142]: (style) The scope of the variable 'color3' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1324]: (style) The scope of the variable 'pixellast' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1325]: (style) The scope of the variable 'dy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1326]: (style) The scope of the variable 'pixx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1326]: (style) The scope of the variable 'pixy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1328]: (style) The scope of the variable 'ytmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1330]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1963]: (style) The scope of the variable 'code1' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2039]: (style) The scope of the variable 'pixellast' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2040]: (style) The scope of the variable 'x' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2040]: (style) The scope of the variable 'dx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2041]: (style) The scope of the variable 'dy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2042]: (style) The scope of the variable 'pixx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2042]: (style) The scope of the variable 'pixy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2045]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2278]: (style) The scope of the variable 'pixx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2278]: (style) The scope of the variable 'pixy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2281]: (style) The scope of the variable 'ax' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2281]: (style) The scope of the variable 'ay' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2283]: (style) The scope of the variable 'swaptmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2284]: (style) The scope of the variable 'pixel' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2285]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2524]: (style) The scope of the variable 'tmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2524]: (style) The scope of the variable 'y0p1' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2524]: (style) The scope of the variable 'x0pxdir' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2813]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3058]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3497]: (style) The scope of the variable 'xpcx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3497]: (style) The scope of the variable 'xmcx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3497]: (style) The scope of the variable 'xpcy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3497]: (style) The scope of the variable 'xmcy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3650]: (style) The scope of the variable 'colorptr' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4294]: (style) The scope of the variable 'xmh' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4294]: (style) The scope of the variable 'xph' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4295]: (style) The scope of the variable 'xmi' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4295]: (style) The scope of the variable 'xpi' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4296]: (style) The scope of the variable 'xmj' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4296]: (style) The scope of the variable 'xpj' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4297]: (style) The scope of the variable 'xmk' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4297]: (style) The scope of the variable 'xpk' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4489]: (style) The scope of the variable 'i' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5134]: (style) The scope of the variable 'ints' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5369]: (style) The scope of the variable 'xtmp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5374]: (style) The scope of the variable 'pixels_written' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5374]: (style) The scope of the variable 'write_width' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5512]: (style) The scope of the variable 'ints' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5791]: (style) The scope of the variable 'i' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6099]: (style) The scope of the variable 'kn' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6099]: (style) The scope of the variable 'nn' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6099]: (style) The scope of the variable 'nkn' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6100]: (style) The scope of the variable 'blend' can be reduced.

GalacticEmperor1 commented 1 year ago

[src_c/SDL_gfx/SDL_gfxPrimitives.c:6160]: (style) The scope of the variable 'x2' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6160]: (style) The scope of the variable 'y2' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6259]: (style) The scope of the variable 'temp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6428]: (style) The scope of the variable 'atemp1' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6428]: (style) The scope of the variable 'atemp2' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6429]: (style) The scope of the variable 'ftmp1' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6429]: (style) The scope of the variable 'ftmp2' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6430]: (style) The scope of the variable 'm1x' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6430]: (style) The scope of the variable 'm1y' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6430]: (style) The scope of the variable 'm2x' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6430]: (style) The scope of the variable 'm2y' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'fix' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'fiy' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'lax' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'lay' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'curx' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6431]: (style) The scope of the variable 'cury' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6432]: (style) The scope of the variable 'px' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6432]: (style) The scope of the variable 'py' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6560]: (style) The scope of the variable 'temp' can be reduced. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6566]: (style) The scope of the variable 'tmp' can be reduced. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:2805]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:3050]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:3489]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:3642]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:4020]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:4290]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:4484]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:4920]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:5009]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:5131]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:5509]: (style) Local variable 'y1' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:680] -> [src_c/SDL_gfx/SDL_gfxPrimitives.c:6160]: (style) Local variable 'y1' shadows outer function [src_c/SDL_gfx/SDL_gfxPrimitives.c:1993]: (style) Variable 'code2' is assigned a value that is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2632]: (style) Variable 'wgtcompmask' is assigned a value that is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6580]: (style) Variable 'x2' is assigned a value that is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6646]: (style) Variable 'ptxx' is assigned a value that is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6647]: (style) Variable 'ptxy' is assigned a value that is never used. [src_c/_sdl2/controller.c:6580]: (style) Condition '!module' is always true [src_c/_sdl2/controller.c:6894]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:6895]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/controller.c:6925]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:6926]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/controller.c:6956]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:6957]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/controller.c:6987]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/controller.c:6988]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/controller.c:7018]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:7207]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:7396]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:7585]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:7586]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/controller.c:7616]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/controller.c:1617]: (style) Same expression on both sides of '<'. [src_c/_sdl2/controller.c:1625]: (style) Same expression on both sides of '<'. [src_c/_sdl2/controller.c:7587]: (style) Same expression on both sides of '<'. [src_c/_sdl2/controller.c:7597]: (style) Same expression on both sides of '<='. [src_c/_sdl2/controller.c:7619]: (style) Same expression on both sides of '<'. [src_c/_sdl2/controller.c:7749]: (style) Same expression on both sides of '<='. [src_c/_sdl2/controller.c:8146]: (style) Same expression on both sides of '>='. [src_c/_sdl2/controller.c:6388]: (style) The scope of the variable 'result' can be reduced. [src_c/_sdl2/controller.c:5756] -> [src_c/_sdl2/controller.c:5759]: (style) Local variable 'args' shadows outer variable [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/_sdl2/controller.c:6486]: (style) Local variable 'setstate' shadows outer function [src_c/_sdl2/controller.c:572]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sdl2/controller.c:573]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sdl2/controller.c:574]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/freetype/ft_render.c:576]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [src_c/freetype/ft_render.c:762]: (style) Assignment of function parameter has no effect outside the function. [src_c/freetype/ft_render.c:763]: (style) Assignment of function parameter has no effect outside the function. [src_c/freetype/ft_render.c:201]: (style) Statements following return, break, continue, goto or throw will never be executed. [src_c/freetype/ft_render.c:130]: (style) The scope of the variable 'font' can be reduced. [src_c/freetype/ft_render.c:432]: (style) The scope of the variable 'fillcolor' can be reduced. [src_c/freetype/ft_render.c:815]: (style) The scope of the variable 'x' can be reduced. [src_c/freetype/ft_render.c:816]: (style) The scope of the variable 'y' can be reduced. [src_c/freetype/ft_render.c:820]: (style) The scope of the variable 'image' can be reduced. [src_c/freetype/ft_render.c:130]: (style) Variable 'font' is assigned a value that is never used. [src_c/freetype/ft_render.c:198]: (style) Variable 'font' is assigned a value that is never used. [src_c/freetype/ft_render.c:576]: (style) Variable 'bgcolor' is assigned a value that is never used. [src_c/freetype/ft_render.c:762]: (style) Variable 'x' is assigned a value that is never used. [src_c/freetype/ft_render.c:763]: (style) Variable 'y' is assigned a value that is never used. [src_c/_sdl2/sdl2.c:3846]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/sdl2.c:3847]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/sdl2.c:3899]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/sdl2.c:4088]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/sdl2.c:4089]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/sdl2.c:4119]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/sdl2.c:4308]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/sdl2.c:4090]: (style) Same expression on both sides of '<'. [src_c/_sdl2/sdl2.c:4100]: (style) Same expression on both sides of '<='. [src_c/_sdl2/sdl2.c:4122]: (style) Same expression on both sides of '<'. [src_c/_sdl2/sdl2.c:4252]: (style) Same expression on both sides of '<='. [src_c/_sdl2/sdl2.c:4801]: (style) Same expression on both sides of '>='. [src_c/_sdl2/sdl2.c:567]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sdl2/sdl2.c:568]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sdl2/sdl2.c:569]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/freetype/ft_render_cb.c:37]: (style) The scope of the variable 'dst_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:40]: (style) The scope of the variable 'src_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:93]: (style) The scope of the variable 'src_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:94]: (style) The scope of the variable 'dst_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:95]: (style) The scope of the variable 'val' can be reduced. [src_c/freetype/ft_render_cb.c:130]: (style) The scope of the variable 'dst_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:134]: (style) The scope of the variable 'src_cpy' can be reduced. [src_c/freetype/ft_render_cb.c:231]: (style) The scope of the variable 'dst_byte' can be reduced. [src_c/freetype/ft_render_cb.c:235]: (style) The scope of the variable 'b' can be reduced. [src_c/freetype/ft_render_cb.c:235]: (style) The scope of the variable 'int_offset' can be reduced. [src_c/freetype/ft_render_cb.c:303]: (style) The scope of the variable 'b' can be reduced. [src_c/freetype/ft_render_cb.c:303]: (style) The scope of the variable 'int_offset' can be reduced. [src_c/freetype/ft_render_cb.c:381]: (style) The scope of the variable 'b' can be reduced. [src_c/freetype/ft_render_cb.c:852]: (style) Variable 'full_color' is assigned a value that is never used. [src_c/freetype/ft_render_cb.c:856]: (style) Variable 'y' is assigned a value that is never used. [src_c/freetype/ft_render_cb.c:857]: (style) Variable 'y' is assigned a value that is never used. [src_c/freetype/ft_render_cb.c:858]: (style) Variable 'y' is assigned a value that is never used. [src_c/freetype/ft_render_cb.c:859]: (style) Variable 'y' is assigned a value that is never used. [src_c/pypm.c:8407]: (style) Condition '!module' is always true [src_c/pypm.c:8640]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8641]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8671]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8672]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8724]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8725]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8861]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8862]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8892]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8893]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8923]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8924]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8954]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:8955]: (style) Condition 'is_unsigned' is always false [src_c/pypm.c:8985]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:9174]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:9363]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:9552]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:9741]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:9967]: (style) Condition 'neg_one>const_zero' is always false [src_c/pypm.c:3159]: (style) Same expression on both sides of '<'. [src_c/pypm.c:3167]: (style) Same expression on both sides of '<'. [src_c/pypm.c:8863]: (style) Same expression on both sides of '<'. [src_c/pypm.c:8873]: (style) Same expression on both sides of '<='. [src_c/pypm.c:9555]: (style) Same expression on both sides of '<'. [src_c/pypm.c:9685]: (style) Same expression on both sides of '<='. [src_c/pypm.c:10460]: (style) Same expression on both sides of '>='. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/pypm.c:8313]: (style) Local variable 'setstate' shadows outer function [src_c/pypm.c:8065] -> [src_c/pypm.c:8066]: (warning) Shifting signed 64-bit value by 63 bits is undefined behaviour. See condition at line 8065. [src_c/pypm.c:567]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/pypm.c:568]: (style) struct member '__Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/pypm.c:569]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/base.c:1309]: (error) Pointer addition with NULL pointer. [src_c/base.c:236]: (style) The scope of the variable 'obj' can be reduced. [src_c/base.c:268]: (style) The scope of the variable 'mod' can be reduced. [src_c/base.c:373]: (style) The scope of the variable 'quit' can be reduced. [src_c/base.c:500]: (style) The scope of the variable 'longobj' can be reduced. [src_c/base.c:1029]: (style) The scope of the variable 'fchar_p' can be reduced. [src_c/base.c:1576]: (style) The scope of the variable 'ip' can be reduced. [src_c/base.c:1998]: (style) The scope of the variable 'ohandler' can be reduced. [src_c/base.c:2036]: (style) The scope of the variable 'ohandler' can be reduced. [src_c/base.c:2086]: (style) The scope of the variable 'atexit' can be reduced. [src_c/base.c:2086]: (style) The scope of the variable 'quit' can be reduced. [src_c/base.c:2086]: (style) The scope of the variable 'rval' can be reduced. [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:133] -> [src_c/base.c:2086]: (style) Local variable 'atexit' shadows outer function [src_c/base.c:971]: (style) Clarify calculation precedence for '&' and '?'. [src_c/base.c:1242]: (style) Clarify calculation precedence for '&' and '?'. [src_c/base.c:1339]: (style) Clarify calculation precedence for '&' and '?'. [src_c/base.c:1363]: (style) Clarify calculation precedence for '&' and '?'. [src_c/base.c:1387]: (style) Clarify calculation precedence for '&' and '?'. [src_c/surface_fill.c:559]: (style) The scope of the variable 'pixel' can be reduced. [src_c/surface_fill.c:636]: (style) The scope of the variable 'pixel' can be reduced. [src_c/surface_fill.c:714]: (style) The scope of the variable 'pixel' can be reduced. [src_c/surface_fill.c:790]: (style) The scope of the variable 'pixel' can be reduced. [src_c/surface_fill.c:866]: (style) The scope of the variable 'pixel' can be reduced. [src_c/newbuffer.c:839]: (style) The scope of the variable 'py_rval' can be reduced. [src_c/newbuffer.c:865]: (style) The scope of the variable 'py_rval' can be reduced. [src_c/newbuffer.c:839]: (style) Variable 'py_rval' is assigned a value that is never used. [src_c/newbuffer.c:865]: (style) Variable 'py_rval' is assigned a value that is never used. [src_c/image.c:69]: (style) The scope of the variable 'rw' can be reduced. [src_c/image.c:245]: (style) The scope of the variable 'data' can be reduced. [src_c/_sdl2/mixer.c:3561]: (style) Condition '!(((long)-1)>0)' is always true [src_c/_sdl2/mixer.c:3561]: (style) Condition '((long)-1)>0' is always false [src_c/_sdl2/mixer.c:11370]: (style) Condition '!(((long)-1)>0)' is always true [src_c/_sdl2/mixer.c:11370]: (style) Condition '((long)-1)>0' is always false [src_c/_sdl2/mixer.c:18231]: (style) Condition 'tstate->curexc_type' is always false [src_c/_sdl2/mixer.c:19311]: (style) Condition '!module' is always true [src_c/_sdl2/mixer.c:20057]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/mixer.c:20058]: (style) Condition 'is_unsigned' is always true [src_c/_sdl2/mixer.c:20233]: (style) Condition 'neg_one>const_zero' is always true [src_c/_sdl2/mixer.c:20422]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/mixer.c:20611]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/mixer.c:20800]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/mixer.c:20801]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/mixer.c:20831]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/mixer.c:20832]: (style) Condition 'is_unsigned' is always false [src_c/_sdl2/mixer.c:20862]: (style) Condition 'neg_one>const_zero' is always false [src_c/_sdl2/mixer.c:10438] -> [src_c/_sdl2/mixer.c:10447]: (style) The if condition is the same as the previous if condition [src_c/_sdl2/mixer.c:2280]: (warning) Possible null pointer dereference: pyx_t_1 [src_c/_sdl2/mixer.c:12630]: (warning) Possible null pointer dereference: pyx_v_obj [src_c/_sdl2/mixer.c:3269]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:3561]: (style) Same expression on both sides of '=='. [src_c/_sdl2/mixer.c:5852]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:5860]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:9543]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:9551]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:10149]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:10157]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:10631]: (style) Same expression on both sides of '!='. [src_c/_sdl2/mixer.c:11370]: (style) Same expression on both sides of '=='. [src_c/_sdl2/mixer.c:20614]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:20744]: (style) Same expression on both sides of '<='. [src_c/_sdl2/mixer.c:20833]: (style) Same expression on both sides of '<'. [src_c/_sdl2/mixer.c:20843]: (style) Same expression on both sides of '<='. [src_c/_sdl2/mixer.c:22014]: (style) Same expression on both sides of '>='. [src_c/_sdl2/mixer.c:12644]: (style) The scope of the variable 'pyx_v_dim' can be reduced. [src_c/_sdl2/mixer.c:16041]: (style) The scope of the variable 'e' can be reduced. [src_c/_sdl2/mixer.c:16336]: (style) The scope of the variable 'e' can be reduced. [src_c/_sdl2/mixer.c:19987]: (style) The scope of the variable 'index' can be reduced. [src_c/_sdl2/mixer.c:18817] -> [src_c/_sdl2/mixer.c:18820]: (style) Local variable 'args' shadows outer variable [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:243] -> [src_c/_sdl2/mixer.c:19684]: (style) Local variable 'setstate' shadows outer function [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/strings.h:73] -> [src_c/_sdl2/mixer.c:19987]: (style) Local variable 'index' shadows outer function [src_c/_sdl2/mixer.c:567]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_await' is never used. [src_c/_sdl2/mixer.c:568]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_aiter' is never used. [src_c/_sdl2/mixer.c:569]: (style) struct member 'Pyx_PyAsyncMethodsStruct::am_anext' is never used. [src_c/_sdl2/mixer.c:1663]: (style) struct member 'Pyx_LocalBuf_ND::rcbuffer' is never used. [src_c/_sdl2/mixer.c:13391]: (style) Variable 'pyx_v_i' is assigned a value that is never used. [src_c/_sdl2/mixer.c:15238]: (style) Variable 'pyx_v_i' is assigned a value that is never used. [src_c/_sdl2/mixer.c:16148]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sdl2/mixer.c:16436]: (style) Variable 'o' is assigned a value that is never used. [src_c/_sprite.c:406]: (style) The function 'PyThread_tss_alloc' is never used. [src_c/_sprite.c:402]: (style) The function 'PyThread_tss_create' is never used. [src_c/_sprite.c:417]: (style) The function 'PyThread_tss_delete' is never used. [src_c/_sprite.c:411]: (style) The function 'PyThread_tss_free' is never used. [src_c/_sprite.c:424]: (style) The function 'PyThread_tss_get' is never used. [src_c/_sprite.c:414]: (style) The function 'PyThread_tss_is_created' is never used. [src_c/_sprite.c:421]: (style) The function 'PyThread_tss_set' is never used. [src_c/_sdl2/video.c:24106]: (style) The function 'Pyx_Coroutine_ResetFrameBackpointer' is never used. [src_c/_sprite.c:30981]: (style) The function 'Pyx_CyFunction_InitDefaults' is never used. [src_c/_sprite.c:31000]: (style) The function 'Pyx_CyFunction_SetAnnotationsDict' is never used. [src_c/_sprite.c:30995]: (style) The function 'Pyx_CyFunction_SetDefaultsKwDict' is never used. [src_c/_sprite.c:32027]: (style) The function 'Pyx_PyObject_IsTrueAndDecref' is never used. [src_c/_sdl2/video.c:1380]: (style) The function 'Pyx_PyUnicode_DecodeUTF16' is never used. [src_c/_sdl2/video.c:1388]: (style) The function 'Pyx_PyUnicode_DecodeUTF16BE' is never used. [src_c/_sdl2/video.c:1384]: (style) The function 'Pyx_PyUnicode_DecodeUTF16LE' is never used. [src_c/_sprite.c:31950]: (style) The function 'Pyx_PyUnicode_FromString' is never used. [src_c/_sprite.c:696]: (style) The function 'Pyx_Py_UNICODE_strlen' is never used. [src_c/_sdl2/video.c:16293]: (style) The function 'Pyx_carray_to_tuple_float' is never used. [src_c/_sprite.c:810]: (style) The function '__Pyx_pretend_to_initialize' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:3441]: (style) The function 'aacircleColor' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2757]: (style) The function 'aalineColor' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:2777]: (style) The function 'aalineRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4787]: (style) The function 'aatrigonColor' is never used. [src_c/bitmask.c:252]: (style) The function 'bitmask_overlap' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:121]: (style) The function 'fastPixelColorNolockNoclip' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:205]: (style) The function 'fastPixelRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:233]: (style) The function 'fastPixelRGBANolock' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4696]: (style) The function 'filledPieRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5300]: (style) The function 'filledPolygonRGBAMT' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4853]: (style) The function 'filledTrigonColor' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5743]: (style) The function 'gfxPrimitivesSetFont' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:5789]: (style) The function 'gfxPrimitivesSetFontRotation' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1114]: (style) The function 'hlineRGBAStore' is never used. [src_c/_freetype.c:2180]: (style) The function 'init_freetype' is never used. [src_c/_sprite.c:26860]: (style) The function 'init_sprite' is never used. [src_c/_sdl2/audio.c:18885]: (style) The function 'initaudio' is never used. [src_c/base.c:2082]: (style) The function 'initbase' is never used. [src_c/bufferproxy.c:842]: (style) The function 'initbufferproxy' is never used. [src_c/color.c:2088]: (style) The function 'initcolor' is never used. [src_c/constants.c:85]: (style) The function 'initconstants' is never used. [src_c/_sdl2/controller.c:5080]: (style) The function 'initcontroller' is never used. [src_c/display.c:2260]: (style) The function 'initdisplay' is never used. [src_c/draw.c:2129]: (style) The function 'initdraw' is never used. [src_c/event.c:1817]: (style) The function 'initevent' is never used. [src_c/fastevent.c:308]: (style) The function 'initfastevent' is never used. [src_c/font.c:864]: (style) The function 'initfont' is never used. [src_c/gfxdraw.c:1091]: (style) The function 'initgfxdraw' is never used. [src_c/image.c:1339]: (style) The function 'initimage' is never used. [src_c/joystick.c:454]: (style) The function 'initjoystick' is never used. [src_c/key.c:802]: (style) The function 'initkey' is never used. [src_c/mask.c:2438]: (style) The function 'initmask' is never used. [src_c/math.c:3954]: (style) The function 'initmath' is never used. [src_c/mixer.c:1946]: (style) The function 'initmixer' is never used. [src_c/music.c:452]: (style) The function 'initmixer_music' is never used. [src_c/mouse.c:318]: (style) The function 'initmouse' is never used. [src_c/newbuffer.c:953]: (style) The function 'initnewbuffer' is never used. [src_c/pixelarray.c:1942]: (style) The function 'initpixelarray' is never used. [src_c/pixelcopy.c:1238]: (style) The function 'initpixelcopy' is never used. [src_c/pypm.c:6461]: (style) The function 'initpypm' is never used. [src_c/rect.c:1839]: (style) The function 'initrect' is never used. [src_c/rwobject.c:736]: (style) The function 'initrwobject' is never used. [src_c/_sdl2/sdl2.c:1810]: (style) The function 'initsdl2' is never used. [src_c/surface.c:4056]: (style) The function 'initsurface' is never used. [src_c/surflock.c:257]: (style) The function 'initsurflock' is never used. [src_c/time.c:496]: (style) The function 'inittime' is never used. [src_c/_sdl2/touch.c:134]: (style) The function 'inittouch' is never used. [src_c/transform.c:2760]: (style) The function 'inittransform' is never used. [src_c/_sdl2/video.c:18540]: (style) The function 'initvideo' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4631]: (style) The function 'pieColor' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:866]: (style) The function 'pixelColorWeight' is never used. [src_c/rotozoom.c:458]: (style) The function 'rotozoomSurfaceSize' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1899]: (style) The function 'roundedBoxRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:1744]: (style) The function 'roundedRectangleRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:6774]: (style) The function 'thickLineRGBA' is never used. [src_c/SDL_gfx/SDL_gfxPrimitives.c:4721]: (style) The function 'trigonColor' is never used.


</p>
</details>

<hr>

# # #  **[ankith26](https://github.com/ankith26)* commented at 2021-12-31 07:59:06*

Okay, I experimented a bit with cppchecker, and indeed it's quite a mature and useful piece of software, in my warnings on CI PR, I'm adding a CI check for running cppchecker. It also helped catch a memleak, and the best part is that it runs on every macro codepath!