cmake/Tests/RunCMake/pseudo_cppcheck.c

40 lines
1.4 KiB
C
Raw Normal View History

2018-01-26 17:06:56 +01:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[])
{
int i;
2019-11-11 23:01:05 +01:00
int result = 0;
2018-01-26 17:06:56 +01:00
for (i = 1; i < argc; ++i) {
2019-11-11 23:01:05 +01:00
if (strcmp(argv[i], "-bad") == 0) {
fprintf(stdout, "stdout from bad command line arg '-bad'\n");
fprintf(stderr, "stderr from bad command line arg '-bad'\n");
return 1;
} else if (strcmp(argv[i], "-error") == 0) {
// The real cppcheck allows to set the exitcode with --error-exitcode
result = 5;
}
2018-01-26 17:06:56 +01:00
}
fprintf(stderr,
"[/foo/bar.c:2]: (error) Array 'abc[10]' accessed at index 12,"
" which is out of bounds.\n");
2018-08-09 18:06:22 +02:00
fprintf(stderr,
"[/foo/bar.c:2]: (warning) Member variable 'foo::bar' is "
"not initialized in the constructor.\n");
2018-01-26 17:06:56 +01:00
fprintf(stderr, "[/foo/bar.c:2]: (style) C-style pointer casting.\n");
2018-08-09 18:06:22 +02:00
fprintf(stderr,
"[/foo/bar.c:2]: (performance) Variable 'm_message' is "
"assigned in constructor body. Consider performing "
"initialization in initialization list.\n");
fprintf(stderr,
"[/foo/bar.c:2]: (portability) scanf without field width "
"limits can crash with huge input data on some versions of "
"libc\n");
fprintf(stderr,
"[/foo/bar.c:2]: (information) cannot find all the include "
"files (use --check-config for details)\n");
2019-11-11 23:01:05 +01:00
return result;
2018-01-26 17:06:56 +01:00
}