diff mbox

[31/36] qtest: Document calling conventions

Message ID 1480535094-23831-32-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake Nov. 30, 2016, 7:44 p.m. UTC
We have two flavors of vararg usage in qtest; make it clear that
qmp() has different semantics than hmp(), and let the compiler
enforce that hmp() is used correctly. Since qmp() only accepts
exactly "%s" (asserting on misuse, which would be flagged during
'make check'), I figured that it is probably not worth adding a
format attribute to qmp() at this time.

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 tests/libqtest.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff mbox

Patch

diff --git a/tests/libqtest.h b/tests/libqtest.h
index bab8d95..2ff3829 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -51,7 +51,7 @@  void qtest_qmp_discard_response(QTestState *s, const char *json);
 /**
  * qtest_qmp:
  * @s: #QTestState instance to operate on.
- * @fmt...: QMP message to send to qemu
+ * @fmt...: QMP message to send to qemu; only recognizes "%s"
  *
  * Sends a QMP message to QEMU and returns the response.
  */
@@ -108,13 +108,13 @@  QDict *qtest_qmp_eventwait_ref(QTestState *s, const char *event);
 /**
  * qtest_hmpv:
  * @s: #QTestState instance to operate on.
- * @fmt...: HMP command to send to QEMU
+ * @fmt...: HMP command to send to QEMU, passed through sprintf()
  *
  * Send HMP command to QEMU via QMP's human-monitor-command.
  *
  * Returns: the command's output.  The caller should g_free() it.
  */
-char *qtest_hmp(QTestState *s, const char *fmt, ...);
+char *qtest_hmp(QTestState *s, const char *fmt, ...) GCC_FMT_ATTR(2, 3);

 /**
  * qtest_hmpv:
@@ -507,7 +507,7 @@  static inline void qtest_end(void)

 /**
  * qmp:
- * @fmt...: QMP message to send to qemu
+ * @fmt...: QMP message to send to qemu; only recognizes "%s"
  *
  * Sends a QMP message to QEMU and returns the response.
  */
@@ -525,7 +525,7 @@  QDict *qmp_cmd(const char *cmd, QDict *args);

 /**
  * qmp_async:
- * @fmt...: QMP message to send to qemu
+ * @fmt...: QMP message to send to qemu; only recognizes "%s"
  *
  * Sends a QMP message to QEMU and leaves the response in the stream.
  */
@@ -584,13 +584,13 @@  static inline QDict *qmp_eventwait_ref(const char *event)

 /**
  * hmp:
- * @fmt...: HMP command to send to QEMU
+ * @fmt...: HMP command to send to QEMU, passed through printf()
  *
  * Send HMP command to QEMU via QMP's human-monitor-command.
  *
  * Returns: the command's output.  The caller should g_free() it.
  */
-char *hmp(const char *fmt, ...);
+char *hmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2);

 /**
  * get_irq: