qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 10/18] migration/qemu-file: add qemu_put_counted


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-devel] [PATCH 10/18] migration/qemu-file: add qemu_put_counted_string()
Date: Mon, 21 Nov 2016 08:23:55 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

17.08.2016 12:09, Fam Zheng wrote:
On Tue, 08/16 13:26, Vladimir Sementsov-Ogievskiy wrote:
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.

Reviewed-by: John Snow <address@hidden>
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
  include/migration/qemu-file.h |  2 ++
  migration/qemu-file.c         | 13 +++++++++++++
  2 files changed, 15 insertions(+)

diff --git a/include/migration/qemu-file.h b/include/migration/qemu-file.h
index abedd46..d860c92 100644
--- a/include/migration/qemu-file.h
+++ b/include/migration/qemu-file.h
@@ -309,4 +309,6 @@ static inline void qemu_get_sbe64s(QEMUFile *f, int64_t *pv)
size_t qemu_get_counted_string(QEMUFile *f, char buf[256]); +void qemu_put_counted_string(QEMUFile *f, const char *name);
+
  #endif
diff --git a/migration/qemu-file.c b/migration/qemu-file.c
index bbc565e..6fcdd68 100644
--- a/migration/qemu-file.c
+++ b/migration/qemu-file.c
@@ -690,6 +690,19 @@ size_t qemu_get_counted_string(QEMUFile *f, char buf[256])
  }
/*
+ * 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 *name)
"Name" is a poor name. Perhaps call it "buf" like qemu_get_counted_string?

buf is poor too, as it say nothing about 0-ended string. Let it be 'str'.


Fam

+{
+    size_t len = strlen(name);
+
+    assert(len < 256);
+    qemu_put_byte(f, len);
+    qemu_put_buffer(f, (const uint8_t *)name, len);
+}
+
+/*
   * Set the blocking state of the QEMUFile.
   * Note: On some transports the OS only keeps a single blocking state for
   *       both directions, and thus changing the blocking on the main
--
1.8.3.1




--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]