["Khimenko Victor" <khim@sch57.msk.ru>] libc/1496: fmemopen is gone in glibc 2.x

Mark Kettenis kettenis@wins.uva.nl
Tue Dec 28 07:21:00 GMT 1999


   From: "Khimenko Victor" <khim@sch57.msk.ru>
   Date: Tue, 28 Dec 1999 16:14:55 +0300 (MSK)

   In < u8g0wn6ysf.fsf@gromit.rhein-neckar.de > Andreas Jaeger (aj@suse.de) wrote:

   AJ> We've received the appended bug report.  fmemopen is a function only
   AJ> available in libio but not in stdio.

   No. Other way around. It's available in stdio but not in libio :-)

   AJ> Is anybody interested in writing fmemopen for stdio?  Or is this an
   AJ> obsolete function?

   If it's obsoleted it should be at least marked as such in documentation.
   IMNSHO. But it can be usefull sometimes. open_memstream implementation has
   some "memory stream" but AFAIK not all functions needed for fmemopen() are
   implemented. And I'm not know enough about libio internals to write
   implementation itself :-(

I might give writing fmemopen() a try.  Shouldn't be too difficult
given the fact that a fmemopen'd stream is somewhere between a
open_memstream'd stream and a C++ streambuf.

Otherwise the best thing would probably be to add a note in the
documentation that fmemopen (and open_obstack_stream) are only
available if GNU stdio is used and not GNU libio.

   AJ> P.S. Khimenko: Using stdio instead of libio is no option on Linux.

   Hmm ? Why not ? It'll be not binary compatible with normal "glibc", but
   it should work, doesn't it ?

I'm afraid that GNU stdio has suffered some bit rot.  It's still
usable, but it is not completely standards compliant and will probably
never be updated for wide streams.  And it doesn't mix with C++
streams of course.

Mark


More information about the Libc-alpha mailing list