[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: operations on FILE streams
From: |
Bruno Haible |
Subject: |
Re: operations on FILE streams |
Date: |
Fri, 13 Apr 2007 22:47:54 +0200 |
User-agent: |
KMail/1.5.4 |
Paul Eggert wrote:
> But the function names use leading __ in both Solaris and glibc, and I
> expect that if they are ever standardized they'll be standardized with
> the leading __.
I sincerely hope no standardization group would do such a mistake:
- Standardizing functions starting with '__' would encourage users to
adopt similar naming conventions (since users often use conventions
prototyped by the OS vendors), leading to collisions between user namespace
and compiler/libc namespace.
- The function __fpurge has no return value. But the 'fpurge' function
on Cygwin can fail. The Solaris people forgot to think about possible
failures.
- The function __flbf is only half-baken: it returns only part of the
information provided by the 3rd argument to setvbuf. This function
does not allow the user to distinguish unbuffered and block-buffered
streams. A better function should return the 3rd argument unchanged.
- The functions __freadable, __fwritable, __freading, __fwriting need to
return 'bool' in gnulib, otherwise an assignment
bool x = __freadable (fp);
may assign an invalid integer (4 or such) to x, if '_Bool' is not a
compiler builtin type.
> So for this particular case I suggest using names
> with leading __, at least in user code
I think gnulib should not provide functions starting with '__'. Remember
the '__setfpucw' and '__libc_wait' functions from glibc? glibc offered them,
people used them, and then glibc withdraw them and broke widespread programs.
And Ulrich Drepper said effectively: "The application programmers should not
have used these functions; it was obvious, since they start with __".
How can anyone expect users to understand that '__' symbols are reserved,
if glibc documents such functions?
Bruno
- 'fflush' test failure on Cygwin, Bruno Haible, 2007/04/12
- Re: 'fflush' test failure on Cygwin, Eric Blake, 2007/04/12
- Re: operations on FILE streams, Bruno Haible, 2007/04/13
- Re: operations on FILE streams, Paul Eggert, 2007/04/13
- Re: operations on FILE streams,
Bruno Haible <=
- Re: operations on FILE streams, Eric Blake-1, 2007/04/13
- Re: operations on FILE streams, Bruno Haible, 2007/04/13
- Re: operations on FILE streams, Paul Eggert, 2007/04/13
- Re: operations on FILE streams, Bruno Haible, 2007/04/13
- Re: 'fflush' test failure on Cygwin, Eric Blake, 2007/04/16
- Re: 'fflush' test failure on Cygwin, Bruno Haible, 2007/04/23
- Re: 'fflush' test failure on Cygwin, Eric Blake, 2007/04/23
- new module 'fseeko', Bruno Haible, 2007/04/25
- Re: new module 'fseeko', Eric Blake, 2007/04/25
- Re: new module 'fseeko', Bruno Haible, 2007/04/26