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: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20180806065344.7103-22-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2018-08-06 08:53:42 +02:00
parent c44a56d8ba
commit e3dc93be1a

View File

@ -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: