cvs commit: src/include stdio.h src/lib/libc/stdio clrerr.c feof.c ferror.c fileno.c getc.c getchar.c local.h putc.c putchar.c unlocked.c xprintf.c

John Baldwin jhb at
Mon May 5 15:27:48 UTC 2008

On Friday 02 May 2008 11:25:07 am John Baldwin wrote:
> jhb         2008-05-02 15:25:07 UTC
>   FreeBSD src repository
>   Modified files:
>     include              stdio.h 
>     lib/libc/stdio clrerr.c feof.c ferror.c 
>                          fileno.c getc.c getchar.c local.h putc.c 
>                          putchar.c xprintf.c 
>   Removed files:
>     lib/libc/stdio       unlocked.c 
>   Log:
>   Next round of stdio changes: Remove all inlining of stdio operations and
>   move the definition of the type backing FILE (struct __sFILE) into an
>   internal header.
>   - Remove macros to inline certain operations from stdio.h.  Applications
>     will now always call the functions instead.
>   - Move the various foo_unlocked() functions from unlocked.c into foo.c.
>     This lets some of the inlining macros (e.g. __sfeof()) move into
>     foo.c.
>   - Update a few comments.
>   - struct __sFILE can now go back to using mbstate_t, pthread_t, and
>     pthread_mutex_t instead of knowing about their private, backing types.
>   MFC after:      1 month
>   Reviewed by:    kan

I'll be reverting this shortly.  I had misparsed the maze of stdio headers in 
glibc and thought that it had a fully opaque FILE.  I will probably not 
restore unlocked.c though and just leave foo_unlocked() in foo.c.  I will 
restore all the inlining though since there's not much point in axeing that 
if we can't make FILE private.

John Baldwin

More information about the cvs-src mailing list