Aucbvax.2275 fa.unix-wizards utzoo!duke!decvax!ucbvax!saks@LL-XN Tue Jul 14 11:41:47 1981 lint and enumerated types From: Joft Saks For some reason or another, our lint does not seem to like some things about enumerated types. I have included below two (unrelated) C-source files which use enumerated types. Note that in the first, I have used the feature which allows one to set a particular value in the enum - list. (Let's forget for a moment any qualms we may have about said feature.) Applications of lint to this program yield the following message: "puterr.c", line 35: warning: nonportable character comparison Applications of lint to the second program yield the message: stuff value used inconsistently "test.c"(12) :: "test.c"(20) Ken Schroder (schroder at ll-asg) thinks older versions of lint may have trouble with functions which return enumerated types. If anyone else has encountered troubles, or has some ideas/suggestions/comments/anything at all useful to say about this, please let me know. Many thanks. -------------------------------------------------------------------------------- puterr.c -------- /* * print an error message */ #include typedef enum { ERRNONE = -1, ERRNOTFOUND, ERRNOTPLAIN, ERRDIRACC, ERRNAMELONG, ERRREADACC, ERRWRITEACC, ERRCHNGSACC, ERRDIFFEXEC } tpserror; tpserror puterr(e, progname, s) tpserror e; char *progname, *s; { static char *format[] = { "%s: can't find %s\n", "%s: %s is special file or directory\n", "%s: can't access containing directory %s\n", "%s: file name too long %s\n", "%s: no read privileges on %s\n", "%s: no write privileges on %s\n", "%s: can't access changes file for %s\n", "%s: can't execute 'diff' for %s\n" }; if (e != ERRNONE) fprintf(stderr, format[(int)e], progname, s); return (e); } -------------------------------------------------------------------------------- test.c: ------- #include typedef enum { RED, GREEN, BLUE } color; color stuff() { return (RED); } main() { if (stuff() == RED) fprintf(stderr, "stuff == RED\n"); else fprintf(stderr, "stuff != RED\n"); exit(0); } ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.