Source code analyser
Since NeoMutt’s code base is relatively big, it is easier to execute CppCheck from the command line and let it save its analysis to an output file.
CppCheck is available on all major platforms, so it can probably be installed through the package manager of your system.
In case you are using Windows (but not Cygwin) it is possible to download the installer from the website.
We can use
cppcheck-gui afterwards for filtering the warnings we want to analyze.
You can use following command for analyzing the source code
cppcheck --enable=all --language=c --std=c99 -i autosetup --platform=unspecified -D_POSIX_PATH_MAX=4096 -DPATH_MAX=2048 -I/usr/include -I/usr/include/mit-krb5 -I. --output-file=cppcheck.xml --xml --xml-version=2 <path to neomutt source code directory>
A complete description of all parameters can be found through
man cppcheck or
--enable-all --output-file=<filename> --xml --xml-version=2collect as many warning as possible and save them to a file, in order to view them later with
--platform=unspecifieddo not restrict the analysis to a 32 or 64 bit platform
--language=c --std=c99NeoMutt follows this standard
-D_POSIX_PATH_MAX=4096 -DPATH_MAX=2048can be left out, but CppCheck may warn that it does not know the values for those macros. Since most of the time the actual values are not relevant, you might just set them to two numeric values.
-i autosetupfor excluding the
-I<path>where to find include files
If cppcheck takes too much time for analyzing the source code, it is always possible to analyze only specific files, tell it to test less macro combinations, or to not enable all warnings.