Add a function to slice the buffer.
This commit is contained in:
parent
12754e05f4
commit
21832851af
16
src/buffer.c
16
src/buffer.c
@ -231,6 +231,22 @@ dc_buffer_prepend (dc_buffer_t *buffer, const unsigned char data[], size_t size)
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
dc_buffer_slice (dc_buffer_t *buffer, size_t offset, size_t size)
|
||||
{
|
||||
if (buffer == NULL)
|
||||
return 0;
|
||||
|
||||
if (offset + size >= buffer->size)
|
||||
return 0;
|
||||
|
||||
buffer->offset += offset;
|
||||
buffer->size = size;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
size_t
|
||||
dc_buffer_get_size (dc_buffer_t *buffer)
|
||||
{
|
||||
|
||||
@ -49,6 +49,9 @@ dc_buffer_append (dc_buffer_t *buffer, const unsigned char data[], size_t size);
|
||||
int
|
||||
dc_buffer_prepend (dc_buffer_t *buffer, const unsigned char data[], size_t size);
|
||||
|
||||
int
|
||||
dc_buffer_slice (dc_buffer_t *buffer, size_t offset, size_t size);
|
||||
|
||||
size_t
|
||||
dc_buffer_get_size (dc_buffer_t *buffer);
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ dc_buffer_reserve
|
||||
dc_buffer_resize
|
||||
dc_buffer_append
|
||||
dc_buffer_prepend
|
||||
dc_buffer_slice
|
||||
dc_buffer_get_size
|
||||
dc_buffer_get_data
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user