where is _IO_cookie_file used?
Greg McGary
greg@kayak.mcgary.org
Wed Jun 28 15:19:00 GMT 2000
Ulrich Drepper <drepper@redhat.com> writes:
> > or move _IO_cookie_file to libioP.h (I prefer this, but fear there
> > might be user code that needs this struct)
>
> There better shouldn't. No user could allocate such a structure which
> later would be usable by the library. I think it's OK to much it.
Good. Follow-on question: By the same rationale, _IO_streambuf and
_IO_strfile should be moved out of strfile.h and into libioP.h. These
appear to be defined in strfile.h so that the following macros (also
in strfile.h) will work:
------------------------------------------------------------------------------
/* dynamic: set when the array object is allocated (or reallocated) as
necessary to hold a character sequence that can change in length. */
#define _IO_STR_DYNAMIC(FP) ((FP)->_s._allocate_buffer != (_IO_alloc_type)0)
/* frozen: set when the program has requested that the array object not
be altered, reallocated, or freed. */
#define _IO_STR_FROZEN(FP) ((FP)->_f._IO_file_flags & _IO_USER_BUF)
------------------------------------------------------------------------------
_IO_STR_DYNAMIC isn't used internally in the C++ stuff under
gcc/libio. _IO_STR_FROZEN isn't used internally, but is used for C++.
I would like to move the _IO_streambuf and _IO_strfile structs to
libioP.h and redefine _IO_STR_DYNAMIC/_IO_STR_FROZEN to call internal
functions that do the same thing. That will eliminate the last of the
last of the user-visible vtables.
Speaking of the gcc/libio, how & when does libio code move from glibc
to gcc?
More information about the Libc-hacker
mailing list