re PR libstdc++/14600 (__gnu_cxx::stdio_sync_filebuf should expose internal FILE*)
2004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com> Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/14600 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New. * include/ext/stdio_filebuf.h (stdio_filebuf::file): New. * config/io/basic_file_stdio.cc (__basic_file::file): New. * config/io/basic_file_stdio.h: Define. Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com> From-SVN: r82419
This commit is contained in:
parent
e73c80ae86
commit
803cb0b5c9
5 changed files with 44 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
|
||||
Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
PR libstdc++/14600
|
||||
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
|
||||
* include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
|
||||
* config/io/basic_file_stdio.cc (__basic_file::file): New.
|
||||
* config/io/basic_file_stdio.h: Define.
|
||||
|
||||
2004-05-27 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
PR libstdc++/15675
|
||||
|
|
|
@ -240,7 +240,11 @@ namespace std
|
|||
|
||||
int
|
||||
__basic_file<char>::fd()
|
||||
{ return fileno(_M_cfile) ; }
|
||||
{ return fileno(_M_cfile); }
|
||||
|
||||
__c_file*
|
||||
__basic_file<char>::file()
|
||||
{ return _M_cfile; }
|
||||
|
||||
__basic_file<char>*
|
||||
__basic_file<char>::close()
|
||||
|
|
|
@ -81,6 +81,9 @@ namespace std
|
|||
int
|
||||
fd();
|
||||
|
||||
__c_file*
|
||||
file();
|
||||
|
||||
~__basic_file();
|
||||
|
||||
streamsize
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// File descriptor layer for filebuf -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -62,6 +62,11 @@ namespace __gnu_cxx
|
|||
typedef std::size_t size_t;
|
||||
|
||||
public:
|
||||
/**
|
||||
* deferred initialization
|
||||
*/
|
||||
stdio_filebuf() : std::basic_filebuf<_CharT, _Traits>() {}
|
||||
|
||||
/**
|
||||
* @param fd An open file descriptor.
|
||||
* @param mode Same meaning as in a standard filebuf.
|
||||
|
@ -103,8 +108,17 @@ namespace __gnu_cxx
|
|||
* descriptor, so be careful.
|
||||
*/
|
||||
int
|
||||
fd()
|
||||
{ return this->_M_file.fd(); }
|
||||
fd() { return this->_M_file.fd(); }
|
||||
|
||||
/**
|
||||
* @return The underlying FILE*.
|
||||
*
|
||||
* This function can be used to access the underlying "C" file pointer.
|
||||
* Note that there is no way for the library to track what you do
|
||||
* with the file, so be careful.
|
||||
*/
|
||||
std::__c_file*
|
||||
file() { return this->_M_file.file(); }
|
||||
};
|
||||
|
||||
template<typename _CharT, typename _Traits>
|
||||
|
|
|
@ -71,6 +71,16 @@ namespace __gnu_cxx
|
|||
: _M_file(__f), _M_unget_buf(traits_type::eof())
|
||||
{ }
|
||||
|
||||
/**
|
||||
* @return The underlying FILE*.
|
||||
*
|
||||
* This function can be used to access the underlying "C" file pointer.
|
||||
* Note that there is no way for the library to track what you do
|
||||
* with the file, so be careful.
|
||||
*/
|
||||
std::__c_file* const
|
||||
file() { return this->_M_file; }
|
||||
|
||||
protected:
|
||||
int_type
|
||||
syncgetc();
|
||||
|
|
Loading…
Add table
Reference in a new issue