Why does fopen()ing a directory for reading succeed instead of failing with EISDIR? This has the possibly unexpected consequence of letting you pass yyin to yylex() as a fopen()ed directory, which then thinks it finished successfully because fread() returns 0 immediately.
Adam

