At 9:36 AM -0800 11/22/00, Matt Dillon wrote:
>     [...] When you fclose() something or otherwise terminate a
>     structure, it's gone.  Anything else is illegal.  *internally*
>     our libc assumes that ferror() is legal after an fclose()
>     because, well, it's true... but only for internal library
>     functions.  Nobody outside the library can legally make that
>     assumption and it could also be argued that even within the
>     library those types of assumptions should not be made unless
>     absolutely necessary.

Hmm.  That does bring up an important point.  The code with the
fclose/ferror combination *is* something I was taking directly
out of libc.  So, it would have more right than most code to
make explicit assumptions about the implementation of other
libc routines.  I had not thought of it in that way, mainly
because I pulled it out of libc at least five years ago, and
it didn't cause me any trouble until this month.

>     There isn't much we can do about the issue except fix the
>     instances of mis-programming as they show up.

Yep.  Oh well.  On to the next tempest, please pass the tea.
-- 

---
Garance Alistair Drosehn            =   [EMAIL PROTECTED]
Senior Systems Programmer           or  [EMAIL PROTECTED]
Rensselaer Polytechnic Institute    or  [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to