Add intfstream_read/intfstream_write
This commit is contained in:
parent
554ca4f087
commit
a20a2da85e
|
@ -56,4 +56,10 @@ bool intfstream_resize(intfstream_internal_t *intf,
|
||||||
bool intfstream_open(intfstream_internal_t *intf,
|
bool intfstream_open(intfstream_internal_t *intf,
|
||||||
const char *path, unsigned mode, ssize_t len);
|
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
|
#endif
|
||||||
|
|
|
@ -98,3 +98,34 @@ error:
|
||||||
return NULL;
|
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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue