mirror of https://github.com/xqemu/xqemu.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;
|
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.
|
* Set the blocking state of the QEMUFile.
|
||||||
* Note: On some transports the OS only keeps a single blocking state for
|
* 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,
|
ram_addr_t offset, size_t size,
|
||||||
uint64_t *bytes_sent);
|
uint64_t *bytes_sent);
|
||||||
|
|
||||||
|
void qemu_put_counted_string(QEMUFile *f, const char *name);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue