summaryrefslogtreecommitdiffstats
path: root/apps/codecs/libgme/inflate/mbreader.c
blob: 825787927c523a4e6a3faaf90376a73725095570 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

/* Memory buffer reader, simulates file read 
   @ gama 
*/

#include "mbreader.h"

int mbread(struct mbreader_t *md, void *buf, size_t n)
{
	if (!md) return -1;
	size_t read_bytes = (md->offset+n) > md->size ? 
		md->size-md->offset : n;
	memcpy(buf,md->ptr + md->offset,read_bytes);
	md->offset += read_bytes;
	return read_bytes;
}