Exemple #1
0
void memstream_putc(memstream_t *stream, int c)
{
   if (stream->m_ptr < stream->m_size)
      stream->m_buf[stream->m_ptr++] = c;

   memstream_update_ptr(stream);
}
Exemple #2
0
int memstream_getc(memstream_t *stream) {
	if (stream->m_ptr >= stream->m_size)
		return EOF;
	else
		return stream->m_buf[stream->m_ptr++];

	memstream_update_ptr(stream);
}
Exemple #3
0
size_t memstream_write(memstream_t *stream, const void *data, size_t bytes) {
	size_t avail = stream->m_size - stream->m_ptr;
	if (bytes > avail)
		bytes = avail;

	memcpy(stream->m_buf + stream->m_ptr, data, bytes);
	stream->m_ptr += bytes;
	memstream_update_ptr(stream);
	return bytes;
}