I normally look only at the QAPI schema changes when I'm not a subject
matter expert, but today my gaze wandered...
Zhang Chen <chen.zhang@intel.com> writes:
> No need to carry the flag all the time in many scenarios.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> include/qemu/sockets.h | 1 +
> util/qemu-sockets.c | 14 ++++++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h
> index 0c34bf2398..3a0f8fa8f2 100644
> --- a/include/qemu/sockets.h
> +++ b/include/qemu/sockets.h
> @@ -32,6 +32,7 @@ int socket_set_fast_reuse(int fd);
> int inet_ai_family_from_address(InetSocketAddress *addr,
> Error **errp);
> int inet_parse(InetSocketAddress *addr, const char *str, Error **errp);
> +int inet_parse_base(InetSocketAddressBase *addr, const char *str, Error **errp);
> int inet_connect(const char *str, Error **errp);
> int inet_connect_saddr(InetSocketAddress *saddr, Error **errp);
>
> diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
> index 0585e7a629..f444921918 100644
> --- a/util/qemu-sockets.c
> +++ b/util/qemu-sockets.c
> @@ -713,6 +713,20 @@ int inet_parse(InetSocketAddress *addr, const char *str, Error **errp)
> return 0;
> }
>
> +int inet_parse_base(InetSocketAddressBase *base, const char *str, Error **errp)
> +{
> + InetSocketAddress *addr;
> + int ret = 0;
> +
> + addr = g_new0(InetSocketAddress, 1);
> + ret = inet_parse(addr, str, errp);
> +
> + base->host = addr->host;
> + base->port = addr->port;
> +
> + g_free(addr);
> + return ret;
> +}
This accepts all the funky flags inet_parse() accepts, then silently
ignores them. I seriously doubt we want that.
>
> /**
> * Create a blocking socket and connect it to an address.