memcpy(buf->w_buffer + pos, data, data_size);
}
+void buffer_write_array(buffer_t *buf, size_t pos,
+ const void *data, size_t count, size_t size)
+{
+ buffer_write(buf, pos, data, MALLOC_MULTIPLY(count, size));
+}
+
void buffer_append(buffer_t *_buf, const void *data, size_t data_size)
{
struct real_buffer *buf = container_of(_buf, struct real_buffer, buf);
}
}
+void buffer_append_array(buffer_t *buf, const void *data,
+ size_t count, size_t size)
+{
+ buffer_append(buf, data, MALLOC_MULTIPLY(count, size));
+}
+
void buffer_append_c(buffer_t *_buf, unsigned char chr)
{
struct real_buffer *buf = container_of(_buf, struct real_buffer, buf);
}
}
+void buffer_insert_array(buffer_t *buf, size_t pos,
+ const void *data, size_t count, size_t size)
+{
+ buffer_insert(buf, pos, data, MALLOC_MULTIPLY(count, size));
+}
+
void buffer_delete(buffer_t *_buf, size_t pos, size_t size)
{
struct real_buffer *buf = container_of(_buf, struct real_buffer, buf);
current size, it is zero-filled up to that point (even if data_size==0). */
void buffer_write(buffer_t *buf, size_t pos,
const void *data, size_t data_size);
+void buffer_write_array(buffer_t *buf, size_t pos,
+ const void *data, size_t count, size_t size);
/* Append data to buffer. */
void buffer_append(buffer_t *buf, const void *data, size_t data_size);
+void buffer_append_array(buffer_t *buf, const void *data,
+ size_t count, size_t size);
/* Append character to buffer. */
void buffer_append_c(buffer_t *buf, unsigned char chr);
the current buffer size, the gap is zero-filled. */
void buffer_insert(buffer_t *buf, size_t pos,
const void *data, size_t data_size);
+void buffer_insert_array(buffer_t *buf, size_t pos,
+ const void *data, size_t count, size_t size);
/* Delete data with the indicated size from the buffer at position pos. The
deleted block may cross the current buffer size boundary, which is ignored.
*/