33 #include <sys/types.h> 41 using std::ostringstream ;
49 PPTStreamBuf::PPTStreamBuf(
int fd,
unsigned bufsize )
50 : d_bufsize( bufsize ),
70 d_bufsize = bufsize == 0 ? 1 : bufsize ;
72 d_buffer =
new char[d_bufsize] ;
73 setp( d_buffer, d_buffer + d_bufsize ) ;
79 if( pptr() > pbase() )
82 strm << hex << setw( 7 ) << setfill(
'0' ) << (
unsigned int)(pptr() - pbase()) <<
"d" ;
83 string tmp_str = strm.str() ;
84 write( d_fd, tmp_str.c_str(), tmp_str.length() ) ;
85 count += write( d_fd, d_buffer, pptr() - pbase() ) ;
86 setp( d_buffer, d_buffer + d_bufsize ) ;
99 *pptr() =
static_cast<char>(c) ;
116 strm << hex << setw( 7 ) << setfill(
'0' ) << (
unsigned int)0 <<
"d" ;
117 string tmp_str = strm.str() ;
118 BESDEBUG(
"ppt",
"PPTStreamBuf::finish - writing " << tmp_str << endl ) ;
119 write( d_fd, tmp_str.c_str(), tmp_str.length() ) ;
void open(int fd, unsigned bufsize=1)
#define BESDEBUG(x, y)
macro used to send debug information to the debug stream