This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: where is _IO_cookie_file used?


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?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]