- // realloc in blocks of 4Kb: this is the default (and minimal) buffer
- // size of the Unix pipes so it should be the optimal step
- //
- // NB: don't use "static int" in this inline function, some compilers
- // (e.g. IBM xlC) don't like it
- enum { incSize = 4096 };
-
- void *buf = realloc(m_buffer, m_size + incSize);
- if ( !buf )
- {
- // don't read any more, we don't have enough memory to do it
- m_stream = NULL;
- }
- else // got memory for the buffer
- {
- m_buffer = buf;
- m_stream->Read((char *)m_buffer + m_size, incSize);
- m_size += m_stream->LastRead();
- }