提交 e3dc93be 编写于 作者: M Markus Armbruster

libqtest: Enable compile-time format string checking

qtest_qmp() & friends pass their format string and variable arguments
to qobject_from_vjsonf_nofail().  Unlike qobject_from_jsonv(), they
aren't decorated with GCC_FMT_ATTR().  Fix that to get compile-time
format string checking.
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: NEric Blake <eblake@redhat.com>
Message-Id: <20180806065344.7103-22-armbru@redhat.com>
上级 c44a56d8
......@@ -82,7 +82,8 @@ void qtest_quit(QTestState *s);
*
* Sends a QMP message to QEMU and returns the response.
*/
QDict *qtest_qmp(QTestState *s, const char *fmt, ...);
QDict *qtest_qmp(QTestState *s, const char *fmt, ...)
GCC_FMT_ATTR(2, 3);
/**
* qtest_qmp_send:
......@@ -93,7 +94,8 @@ QDict *qtest_qmp(QTestState *s, const char *fmt, ...);
*
* Sends a QMP message to QEMU and leaves the response in the stream.
*/
void qtest_qmp_send(QTestState *s, const char *fmt, ...);
void qtest_qmp_send(QTestState *s, const char *fmt, ...)
GCC_FMT_ATTR(2, 3);
/**
* qtest_qmpv:
......@@ -105,7 +107,8 @@ void qtest_qmp_send(QTestState *s, const char *fmt, ...);
*
* Sends a QMP message to QEMU and returns the response.
*/
QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
GCC_FMT_ATTR(2, 0);
/**
* qtest_qmp_vsend:
......@@ -117,7 +120,8 @@ QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
*
* Sends a QMP message to QEMU and leaves the response in the stream.
*/
void qtest_qmp_vsend(QTestState *s, const char *fmt, va_list ap);
void qtest_qmp_vsend(QTestState *s, const char *fmt, va_list ap)
GCC_FMT_ATTR(2, 0);
/**
* qtest_receive:
......@@ -574,7 +578,7 @@ static inline void qtest_end(void)
*
* Sends a QMP message to QEMU and returns the response.
*/
QDict *qmp(const char *fmt, ...);
QDict *qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
/**
* qmp_send:
......@@ -584,7 +588,7 @@ QDict *qmp(const char *fmt, ...);
*
* Sends a QMP message to QEMU and leaves the response in the stream.
*/
void qmp_send(const char *fmt, ...);
void qmp_send(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
/**
* qmp_receive:
......@@ -943,10 +947,10 @@ static inline int64_t clock_set(int64_t val)
}
QDict *qmp_fd_receive(int fd);
void qmp_fd_vsend(int fd, const char *fmt, va_list ap);
void qmp_fd_send(int fd, const char *fmt, ...);
QDict *qmp_fdv(int fd, const char *fmt, va_list ap);
QDict *qmp_fd(int fd, const char *fmt, ...);
void qmp_fd_vsend(int fd, const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0);
void qmp_fd_send(int fd, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
QDict *qmp_fdv(int fd, const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0);
QDict *qmp_fd(int fd, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
/**
* qtest_cb_for_every_machine:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册