fixincl problem

Mark Kettenis kettenis@wins.uva.nl
Sun Jan 21 10:29:00 GMT 2001


The fixincl program does the equivalent of (in main()):

  /* In load_file_data().  */
  fclose (stdin);

  freopen ("/dev/null", "r", stdin);

Which results in a segmentation fault on the Hurd.

It looks as if this code isn't strictly portable.  The current POSIX
draft says in its description of fclose(FILE *stream):

   After the call to fclose() any use of STREAM results in undefined
   behaviour.

Personally I think load_file_data() shouldn't close the stream that is
passed to it.  If people agree, I can come up with a patch that does
implement that.

Mark


More information about the Gcc mailing list