23 PacketMem::PacketMem( )
32 _buffer = orig._buffer;
39 _buffer = ptr(
new char[bytesize] );
48 char*
v =
new char[
size];
62 inner_set( buffer, size, own );
74 inner_set( buffer, size, own );
80 _buffer = orig._buffer;
85 void PacketMem::inner_set(
void*
buffer,
size_t size,
bool own )
92 char*
v =
new char[
size];
99 _buffer = ptr( (
char*)buffer );
113 static const size_t LEN = 16;
116 char* buf = _buffer.get();
121 for( i=0; i<indent_depth; i++ ) ostr <<
" ";
123 for( i=0; i<LEN && len>0; i++ )
129 for( i=0; i<LEN; i++ )
131 ostr <<
" " << std::setw(2) << std::hex << (((
unsigned int)x[i])&0xff);
134 for( i=0; i<LEN; i++ )
137 if( isprint(v) ) ostr << x[i];
else ostr <<
"@";
147 if( _buffer == r._buffer )
return true;
148 if( _len != r._len )
return false;
149 if( memcmp( _buffer.get(), r._buffer.get(), _len ) == 0 )
return true;
162 return _buffer.get();
168 return _buffer.get();