lclint +posixlib unsignedcompare.c -expect 2 unsignedcompare.c: (in function test) unsignedcompare.c:5:3: Assignment of ssize_t to unsigned long int: res = read(fd, buffer, cnt) To allow arbitrary integral types to match long unsigned, use +longunsignedintegral. unsignedcompare.c:7:7: Comparison of unsigned value involving zero: res <= 0 An unsigned value is used in a comparison with zero in a way that is either a bug or confusing. (-unsignedcompare will suppress message) unsignedcompare.c:12:7: Comparison of unsigned value involving zero: res < 0 unsignedcompare.c:12:18: Comparison of unsigned value involving zero: res >= 0 Finished LCLint checking --- 4 code errors found, expected 2