Add intfstream_read/intfstream_write

This commit is contained in:
twinaphex 2016-04-07 02:06:04 +02:00
parent 554ca4f087
commit a20a2da85e
2 changed files with 37 additions and 0 deletions

View File

@ -56,4 +56,10 @@ bool intfstream_resize(intfstream_internal_t *intf,
bool intfstream_open(intfstream_internal_t *intf,
const char *path, unsigned mode, ssize_t len);
ssize_t intfstream_read(intfstream_internal_t *intf,
void *s, size_t len);
ssize_t intfstream_write(intfstream_internal_t *intf,
const void *s, size_t len);
#endif

View File

@ -98,3 +98,34 @@ error:
return NULL;
}
ssize_t intfstream_read(intfstream_internal_t *intf, void *s, size_t len)
{
if (!intf)
return 0;
switch (intf->type)
{
case INTFSTREAM_FILE:
return filestream_read(intf->file.fp, s, len);
case INTFSTREAM_MEMORY:
return memstream_read(intf->memory.fp, s, len);
}
return 0;
}
ssize_t intfstream_write(intfstream_internal_t *intf, const void *s, size_t len)
{
if (!intf)
return 0;
switch (intf->type)
{
case INTFSTREAM_FILE:
return filestream_write(intf->file.fp, s, len);
case INTFSTREAM_MEMORY:
return memstream_write(intf->memory.fp, s, len);
}
return 0;
}