From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: berrange@redhat.com, kraxel@redhat.com, pbonzini@redhat.com,
eblake@redhat.com, qemu-block@nongnu.org
Subject: [Qemu-devel] [PATCH 1/7] sockets: Prepare vsock_parse() for flattened SocketAddress
Date: Wed, 26 Apr 2017 09:36:36 +0200 [thread overview]
Message-ID: <1493192202-3184-2-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1493192202-3184-1-git-send-email-armbru@redhat.com>
I'm going to flatten SocketAddress: rename SocketAddress to
SocketAddressLegacy, SocketAddressFlat to SocketAddress, eliminate
SocketAddressLegacy except in external interfaces.
vsock_parse() returns a newly allocated VsockSocketAddress. Lift the
allocation from vsock_parse() into its caller socket_parse() to
prepare for flattening SocketAddress.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
util/qemu-sockets.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 8188d9a..1abe095 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -793,26 +793,25 @@ static int vsock_listen_saddr(VsockSocketAddress *vaddr,
return slisten;
}
-static VsockSocketAddress *vsock_parse(const char *str, Error **errp)
+static int vsock_parse(VsockSocketAddress *addr, const char *str,
+ Error **errp)
{
- VsockSocketAddress *addr = NULL;
char cid[33];
char port[33];
int n;
if (sscanf(str, "%32[^:]:%32[^,]%n", cid, port, &n) != 2) {
error_setg(errp, "error parsing address '%s'", str);
- return NULL;
+ return -1;
}
if (str[n] != '\0') {
error_setg(errp, "trailing characters in address '%s'", str);
- return NULL;
+ return -1;
}
- addr = g_new0(VsockSocketAddress, 1);
addr->cid = g_strdup(cid);
addr->port = g_strdup(port);
- return addr;
+ return 0;
}
#else
static void vsock_unsupported(Error **errp)
@@ -835,10 +834,11 @@ static int vsock_listen_saddr(VsockSocketAddress *vaddr,
return -1;
}
-static VsockSocketAddress *vsock_parse(const char *str, Error **errp)
+static int vsock_parse(VsockSocketAddress *addr, const char *str,
+ Error **errp)
{
vsock_unsupported(errp);
- return NULL;
+ return -1;
}
#endif /* CONFIG_AF_VSOCK */
@@ -1060,8 +1060,8 @@ SocketAddress *socket_parse(const char *str, Error **errp)
}
} else if (strstart(str, "vsock:", NULL)) {
addr->type = SOCKET_ADDRESS_KIND_VSOCK;
- addr->u.vsock.data = vsock_parse(str + strlen("vsock:"), errp);
- if (addr->u.vsock.data == NULL) {
+ addr->u.vsock.data = g_new(VsockSocketAddress, 1);
+ if (vsock_parse(addr->u.vsock.data, str + strlen("vsock:"), errp)) {
goto fail;
}
} else {
--
2.7.4
next prev parent reply other threads:[~2017-04-26 7:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-26 7:36 [Qemu-devel] [PATCH 0/7] sockets: Flatten SocketAddress except in external interfaces Markus Armbruster
2017-04-26 7:36 ` Markus Armbruster [this message]
2017-04-26 15:14 ` [Qemu-devel] [PATCH 1/7] sockets: Prepare vsock_parse() for flattened SocketAddress Eric Blake
2017-04-26 7:36 ` [Qemu-devel] [PATCH 2/7] sockets: Prepare inet_parse() " Markus Armbruster
2017-04-26 15:28 ` Eric Blake
2017-04-26 7:36 ` [Qemu-devel] [PATCH 3/7] qapi: New QAPI_CLONE_MEMBERS() Markus Armbruster
2017-04-26 17:56 ` Eric Blake
2017-04-26 7:36 ` [Qemu-devel] [PATCH 4/7] sockets: Rename SocketAddress to SocketAddressLegacy Markus Armbruster
2017-04-26 19:08 ` Eric Blake
2017-04-26 7:36 ` [Qemu-devel] [PATCH 5/7] sockets: Rename SocketAddressFlat to SocketAddress Markus Armbruster
2017-04-26 19:15 ` Eric Blake
2017-04-27 5:53 ` Prasanna Kalever
2017-04-26 7:36 ` [Qemu-devel] [PATCH 6/7] sockets: Limit SocketAddressLegacy except to external interfaces Markus Armbruster
2017-04-26 19:45 ` Eric Blake
2017-04-27 7:26 ` Markus Armbruster
2017-04-27 7:33 ` Markus Armbruster
2017-04-26 7:36 ` [Qemu-devel] [PATCH 7/7] socket: Delete unused helper socket_address_crumple() Markus Armbruster
2017-04-26 19:45 ` Eric Blake
2017-04-28 8:15 ` [Qemu-devel] [PATCH 0/7] sockets: Flatten SocketAddress except in external interfaces Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1493192202-3184-2-git-send-email-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=eblake@redhat.com \
--cc=kraxel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.