Message ID | 20220426092715.3931705-8-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | Misc cleanups | expand |
On 26/04/2022 11.26, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > tests/qtest/libqmp.h | 2 ++ > tests/qtest/libqmp.c | 37 +++++++++++++++++++++++++++++++------ > 2 files changed, 33 insertions(+), 6 deletions(-) > > diff --git a/tests/qtest/libqmp.h b/tests/qtest/libqmp.h > index 94aa97328a17..772f18b73ba3 100644 > --- a/tests/qtest/libqmp.h > +++ b/tests/qtest/libqmp.h > @@ -20,8 +20,10 @@ > #include "qapi/qmp/qdict.h" > > QDict *qmp_fd_receive(int fd); > +#ifndef G_OS_WIN32 > void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, > const char *fmt, va_list ap) G_GNUC_PRINTF(4, 0); > +#endif > void qmp_fd_vsend(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); > void qmp_fd_send(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); > void qmp_fd_send_raw(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); > diff --git a/tests/qtest/libqmp.c b/tests/qtest/libqmp.c > index 0358b8313dc4..5f451ebee796 100644 > --- a/tests/qtest/libqmp.c > +++ b/tests/qtest/libqmp.c > @@ -15,9 +15,15 @@ > */ > > #include "qemu/osdep.h" > - > #include "libqmp.h" > > +#include <unistd.h> > +#include <stdlib.h> unistd.h and stdlib.h should have been added by osdep.h already, so please remove these two lines. Thomas
Hi On Tue, Apr 26, 2022 at 1:32 PM Thomas Huth <thuth@redhat.com> wrote: > > On 26/04/2022 11.26, marcandre.lureau@redhat.com wrote: > > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > > --- > > tests/qtest/libqmp.h | 2 ++ > > tests/qtest/libqmp.c | 37 +++++++++++++++++++++++++++++++------ > > 2 files changed, 33 insertions(+), 6 deletions(-) > > > > diff --git a/tests/qtest/libqmp.h b/tests/qtest/libqmp.h > > index 94aa97328a17..772f18b73ba3 100644 > > --- a/tests/qtest/libqmp.h > > +++ b/tests/qtest/libqmp.h > > @@ -20,8 +20,10 @@ > > #include "qapi/qmp/qdict.h" > > > > QDict *qmp_fd_receive(int fd); > > +#ifndef G_OS_WIN32 > > void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, > > const char *fmt, va_list ap) G_GNUC_PRINTF(4, 0); > > +#endif > > void qmp_fd_vsend(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); > > void qmp_fd_send(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); > > void qmp_fd_send_raw(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); > > diff --git a/tests/qtest/libqmp.c b/tests/qtest/libqmp.c > > index 0358b8313dc4..5f451ebee796 100644 > > --- a/tests/qtest/libqmp.c > > +++ b/tests/qtest/libqmp.c > > @@ -15,9 +15,15 @@ > > */ > > > > #include "qemu/osdep.h" > > - > > #include "libqmp.h" > > > > +#include <unistd.h> > > +#include <stdlib.h> > > unistd.h and stdlib.h should have been added by osdep.h already, so please > remove these two lines. Right (it will be part of the follow-up series, moving it to a standalone project). Ack with that?
On 26/04/2022 12.25, Marc-André Lureau wrote: > Hi > > On Tue, Apr 26, 2022 at 1:32 PM Thomas Huth <thuth@redhat.com> wrote: >> >> On 26/04/2022 11.26, marcandre.lureau@redhat.com wrote: >>> From: Marc-André Lureau <marcandre.lureau@redhat.com> >>> >>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> >>> --- >>> tests/qtest/libqmp.h | 2 ++ >>> tests/qtest/libqmp.c | 37 +++++++++++++++++++++++++++++++------ >>> 2 files changed, 33 insertions(+), 6 deletions(-) >>> >>> diff --git a/tests/qtest/libqmp.h b/tests/qtest/libqmp.h >>> index 94aa97328a17..772f18b73ba3 100644 >>> --- a/tests/qtest/libqmp.h >>> +++ b/tests/qtest/libqmp.h >>> @@ -20,8 +20,10 @@ >>> #include "qapi/qmp/qdict.h" >>> >>> QDict *qmp_fd_receive(int fd); >>> +#ifndef G_OS_WIN32 >>> void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, >>> const char *fmt, va_list ap) G_GNUC_PRINTF(4, 0); >>> +#endif >>> void qmp_fd_vsend(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); >>> void qmp_fd_send(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); >>> void qmp_fd_send_raw(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); >>> diff --git a/tests/qtest/libqmp.c b/tests/qtest/libqmp.c >>> index 0358b8313dc4..5f451ebee796 100644 >>> --- a/tests/qtest/libqmp.c >>> +++ b/tests/qtest/libqmp.c >>> @@ -15,9 +15,15 @@ >>> */ >>> >>> #include "qemu/osdep.h" >>> - >>> #include "libqmp.h" >>> >>> +#include <unistd.h> >>> +#include <stdlib.h> >> >> unistd.h and stdlib.h should have been added by osdep.h already, so please >> remove these two lines. > > Right (it will be part of the follow-up series, moving it to a > standalone project). Ack with that? Sure, the two headers should then be added in the patch where you remove osdep.h. Thomas
diff --git a/tests/qtest/libqmp.h b/tests/qtest/libqmp.h index 94aa97328a17..772f18b73ba3 100644 --- a/tests/qtest/libqmp.h +++ b/tests/qtest/libqmp.h @@ -20,8 +20,10 @@ #include "qapi/qmp/qdict.h" QDict *qmp_fd_receive(int fd); +#ifndef G_OS_WIN32 void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, const char *fmt, va_list ap) G_GNUC_PRINTF(4, 0); +#endif void qmp_fd_vsend(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); void qmp_fd_send(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); void qmp_fd_send_raw(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); diff --git a/tests/qtest/libqmp.c b/tests/qtest/libqmp.c index 0358b8313dc4..5f451ebee796 100644 --- a/tests/qtest/libqmp.c +++ b/tests/qtest/libqmp.c @@ -15,9 +15,15 @@ */ #include "qemu/osdep.h" - #include "libqmp.h" +#include <unistd.h> +#include <stdlib.h> +#ifndef G_OS_WIN32 +#include <sys/socket.h> +#endif + +#include "qemu/cutils.h" #include "qapi/error.h" #include "qapi/qmp/json-parser.h" #include "qapi/qmp/qjson.h" @@ -87,6 +93,7 @@ QDict *qmp_fd_receive(int fd) return qmp.response; } +#ifndef G_OS_WIN32 /* Sends a message and file descriptors to the socket. * It's needed for qmp-commands like getfd/add-fd */ static void socket_send_fds(int socket_fd, int *fds, size_t fds_num, @@ -120,17 +127,23 @@ static void socket_send_fds(int socket_fd, int *fds, size_t fds_num, } while (ret < 0 && errno == EINTR); g_assert_cmpint(ret, >, 0); } +#endif /** * Allow users to send a message without waiting for the reply, * in the case that they choose to discard all replies up until * a particular EVENT is received. */ -void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, - const char *fmt, va_list ap) +static void +_qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, + const char *fmt, va_list ap) { QObject *qobj; +#ifdef G_OS_WIN32 + assert(fds_num == 0); +#endif + /* Going through qobject ensures we escape strings properly */ qobj = qobject_from_vjsonf_nofail(fmt, ap); @@ -148,10 +161,14 @@ void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, if (log) { fprintf(stderr, "%s", str->str); } + +#ifndef G_OS_WIN32 /* Send QMP request */ if (fds && fds_num > 0) { socket_send_fds(fd, fds, fds_num, str->str, str->len); - } else { + } else +#endif + { socket_send(fd, str->str, str->len); } @@ -160,15 +177,23 @@ void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, } } +#ifndef G_OS_WIN32 +void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, + const char *fmt, va_list ap) +{ + _qmp_fd_vsend_fds(fd, fds, fds_num, fmt, ap); +} +#endif + void qmp_fd_vsend(int fd, const char *fmt, va_list ap) { - qmp_fd_vsend_fds(fd, NULL, 0, fmt, ap); + _qmp_fd_vsend_fds(fd, NULL, 0, fmt, ap); } QDict *qmp_fdv(int fd, const char *fmt, va_list ap) { - qmp_fd_vsend_fds(fd, NULL, 0, fmt, ap); + _qmp_fd_vsend_fds(fd, NULL, 0, fmt, ap); return qmp_fd_receive(fd); }