Loading include/qemu/buffer.h +10 −0 Original line number Diff line number Diff line Loading @@ -137,4 +137,14 @@ gboolean buffer_empty(Buffer *buffer); */ void buffer_move_empty(Buffer *to, Buffer *from); /** * buffer_move: * @to: destination buffer object * @from: source buffer object * * Moves buffer, copying data (unless 'to' buffer happens to be empty). * 'from' buffer is empty and zero-sized on return. */ void buffer_move(Buffer *to, Buffer *from); #endif /* QEMU_BUFFER_H__ */ util/buffer.c +16 −0 Original line number Diff line number Diff line Loading @@ -91,3 +91,19 @@ void buffer_move_empty(Buffer *to, Buffer *from) from->capacity = 0; from->buffer = NULL; } void buffer_move(Buffer *to, Buffer *from) { if (to->offset == 0) { buffer_move_empty(to, from); return; } buffer_reserve(to, from->offset); buffer_append(to, from->buffer, from->offset); g_free(from->buffer); from->offset = 0; from->capacity = 0; from->buffer = NULL; } Loading
include/qemu/buffer.h +10 −0 Original line number Diff line number Diff line Loading @@ -137,4 +137,14 @@ gboolean buffer_empty(Buffer *buffer); */ void buffer_move_empty(Buffer *to, Buffer *from); /** * buffer_move: * @to: destination buffer object * @from: source buffer object * * Moves buffer, copying data (unless 'to' buffer happens to be empty). * 'from' buffer is empty and zero-sized on return. */ void buffer_move(Buffer *to, Buffer *from); #endif /* QEMU_BUFFER_H__ */
util/buffer.c +16 −0 Original line number Diff line number Diff line Loading @@ -91,3 +91,19 @@ void buffer_move_empty(Buffer *to, Buffer *from) from->capacity = 0; from->buffer = NULL; } void buffer_move(Buffer *to, Buffer *from) { if (to->offset == 0) { buffer_move_empty(to, from); return; } buffer_reserve(to, from->offset); buffer_append(to, from->buffer, from->offset); g_free(from->buffer); from->offset = 0; from->capacity = 0; from->buffer = NULL; }