cvs commit: src/lib/libc/stdio Makefile.inc __fpending.c _flock_stub.c asprintf.c fclose.c fcookie.c fdopen.c fflush.c fgetc.c fgetln.c fgets.c fileno.c findfp.c fopen.c fpurge.c fputs.c fread.c freopen.c fseek.c ftell.c funopen.c fvwrite.c ...

Joerg Sonnenberger joerg at crater.dragonflybsd.org
Sat Jul 23 13:23:19 PDT 2005


joerg       2005/07/23 13:23:06 PDT

DragonFly src repository

  Modified files:
    lib/libc/stdio       Makefile.inc _flock_stub.c asprintf.c 
                         fclose.c fdopen.c fflush.c fgetc.c 
                         fgetln.c fgets.c fileno.c findfp.c 
                         fopen.c fpurge.c fputs.c fread.c 
                         freopen.c fseek.c ftell.c funopen.c 
                         fvwrite.c fwalk.c fwrite.c local.h 
                         makebuf.c perror.c puts.c putw.c refill.c 
                         rget.c setvbuf.c snprintf.c sprintf.c 
                         sscanf.c stdio.c ungetc.c vasprintf.c 
                         vfprintf.c vfscanf.c vsnprintf.c 
                         vsprintf.c vsscanf.c wbuf.c wsetup.c 
    lib/libftpio         ftpio.c 
    include              stdio.h 
    gnu/usr.bin/cvs/lib  Makefile config.h.proto 
  Added files:
    lib/libc/stdio       __fpending.c fcookie.c priv_stdio.h 
  Removed files:
    lib/libc/stdio       fvwrite.h glue.h 
  Log:
  First step to cleaning up stdio. This breaks the libc ABI, all programs
  have to be recompiled.
  
  Make FILE an opaque type for normal operation (anything outside libc).
  This means programs have to use the exported interface, they can neither
  make static instances on the heap or access fields of their own.
  
  Introduce a new type __FILE_public, which contains the fields accessed
  by the various macros. It is placed first in the real FILE and the
  macros cast the given FILE * to __FILE_public for access. To allow
  better argument checks, all macros have been converted to inline
  functions instead.
  
  Merge the various stdio helper headers into a single priv_stdio.h. The
  license from the original files has been kept, the third clause is gone
  as part of the UCB copyright addendum. They haven't been changed in
  FreeBSD at all.
  
  Add two new helper functions, fcookie and __fpending to read parts of
  the hidden state. The former is handy for funopen users, the latter
  exists on other systems as well.
  
  Cleanup some minor warnings on the way and hide some local functions
  with static.
  
  Adept libftpio and CVS to the chanced API.
  
  Revision  Changes    Path
  1.3       +3 -3      src/lib/libc/stdio/Makefile.inc
  1.9       +1 -0      src/lib/libc/stdio/_flock_stub.c
  1.6       +6 -5      src/lib/libc/stdio/asprintf.c
  1.9       +8 -6      src/lib/libc/stdio/fclose.c
  1.6       +5 -3      src/lib/libc/stdio/fdopen.c
  1.6       +9 -7      src/lib/libc/stdio/fflush.c
  1.5       +1 -0      src/lib/libc/stdio/fgetc.c
  1.5       +17 -15    src/lib/libc/stdio/fgetln.c
  1.6       +9 -7      src/lib/libc/stdio/fgets.c
  1.5       +3 -0      src/lib/libc/stdio/fileno.c
  1.8       +13 -11    src/lib/libc/stdio/findfp.c
  1.5       +4 -3      src/lib/libc/stdio/fopen.c
  1.6       +6 -4      src/lib/libc/stdio/fpurge.c
  1.5       +4 -2      src/lib/libc/stdio/fputs.c
  1.6       +10 -8     src/lib/libc/stdio/fread.c
  1.6       +19 -17    src/lib/libc/stdio/freopen.c
  1.8       +32 -30    src/lib/libc/stdio/fseek.c
  1.6       +7 -5      src/lib/libc/stdio/ftell.c
  1.5       +7 -7      src/lib/libc/stdio/funopen.c
  1.7       +23 -23    src/lib/libc/stdio/fvwrite.c
  1.5       +2 -2      src/lib/libc/stdio/fwalk.c
  1.5       +3 -2      src/lib/libc/stdio/fwrite.c
  1.7       +1 -1      src/lib/libc/stdio/local.h
  1.6       +11 -9     src/lib/libc/stdio/makebuf.c
  1.6       +3 -3      src/lib/libc/stdio/perror.c
  1.5       +4 -3      src/lib/libc/stdio/puts.c
  1.5       +1 -1      src/lib/libc/stdio/putw.c
  1.8       +23 -22    src/lib/libc/stdio/refill.c
  1.3       +5 -3      src/lib/libc/stdio/rget.c
  1.6       +13 -11    src/lib/libc/stdio/setvbuf.c
  1.5       +6 -5      src/lib/libc/stdio/snprintf.c
  1.5       +7 -5      src/lib/libc/stdio/sprintf.c
  1.6       +6 -4      src/lib/libc/stdio/sscanf.c
  1.6       +12 -10    src/lib/libc/stdio/stdio.c
  1.6       +23 -21    src/lib/libc/stdio/ungetc.c
  1.6       +7 -5      src/lib/libc/stdio/vasprintf.c
  1.10      +10 -11    src/lib/libc/stdio/vfprintf.c
  1.8       +34 -33    src/lib/libc/stdio/vfscanf.c
  1.6       +7 -5      src/lib/libc/stdio/vsnprintf.c
  1.6       +7 -5      src/lib/libc/stdio/vsprintf.c
  1.7       +6 -4      src/lib/libc/stdio/vsscanf.c
  1.6       +7 -5      src/lib/libc/stdio/wbuf.c
  1.5       +13 -11    src/lib/libc/stdio/wsetup.c
  1.8       +0 -11     src/lib/libftpio/ftpio.c
  1.8       +65 -80    src/include/stdio.h
  1.12      +1 -1      src/gnu/usr.bin/cvs/lib/Makefile
  1.8       +2 -2      src/gnu/usr.bin/cvs/lib/config.h.proto


http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/Makefile.inc.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/_flock_stub.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/asprintf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fclose.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fdopen.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fflush.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fgetc.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fgetln.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fgets.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fileno.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/findfp.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fopen.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fpurge.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fputs.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fread.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/freopen.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fseek.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/ftell.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/funopen.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fvwrite.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fwalk.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/fwrite.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/local.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/makebuf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/perror.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/puts.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/putw.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/refill.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/rget.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/setvbuf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/snprintf.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/sprintf.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/sscanf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/stdio.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/ungetc.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vasprintf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vfprintf.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vfscanf.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vsnprintf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vsprintf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/vsscanf.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/wbuf.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/wsetup.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libftpio/ftpio.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/include/stdio.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/gnu/usr.bin/cvs/lib/Makefile.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/gnu/usr.bin/cvs/lib/config.h.proto.diff?r1=1.7&r2=1.8&f=u





More information about the Commits mailing list