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 cppcheck --help
.
Some considerations:
--enable-all --output-file=<filename> --xml --xml-version=2
collect as many warning as possible and save them to a file, in order to view them later with cppcheck-gui
--platform=unspecified
do not restrict the analysis to a 32 or 64 bit platform--language=c --std=c11
NeoMutt follows this standard-D_POSIX_PATH_MAX=4096 -DPATH_MAX=2048
can 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 autosetup
for excluding the autosetup
directory-I<path>
where to find include filesIf 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.