mirror of https://gitee.com/openkylin/qemu.git
migration/qemu-file: add qemu_put_counted_string()
Add function opposite to qemu_get_counted_string. qemu_put_counted_string puts one-byte length of the string (string should not be longer than 255 characters), and then it puts the string, without last zero byte. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: John Snow <jsnow@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Message-id: 20180313180320.339796-9-vsementsov@virtuozzo.com
This commit is contained in:
parent
dd6bb91450
commit
f0d64cb729
|
@ -733,6 +733,19 @@ size_t qemu_get_counted_string(QEMUFile *f, char buf[256])
|
|||
return res == len ? res : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Put a string with one preceding byte containing its length. The length of
|
||||
* the string should be less than 256.
|
||||
*/
|
||||
void qemu_put_counted_string(QEMUFile *f, const char *str)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
|
||||
assert(len < 256);
|
||||
qemu_put_byte(f, len);
|
||||
qemu_put_buffer(f, (const uint8_t *)str, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the blocking state of the QEMUFile.
|
||||
* Note: On some transports the OS only keeps a single blocking state for
|
||||
|
|
|
@ -174,4 +174,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
|
|||
ram_addr_t offset, size_t size,
|
||||
uint64_t *bytes_sent);
|
||||
|
||||
void qemu_put_counted_string(QEMUFile *f, const char *name);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue