[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [RFC v2 for-2.9 03/10] io vnc sockets: Clean up SocketAddre
From: |
Markus Armbruster |
Subject: |
[Qemu-block] [RFC v2 for-2.9 03/10] io vnc sockets: Clean up SocketAddressKind switches |
Date: |
Thu, 30 Mar 2017 15:15:00 +0200 |
We have quite a few switches over SocketAddressKind. Some have case
labels for all enumeration values, others rely on a default label.
Some abort when the value isn't a valid SocketAddressKind, others
report an error then.
Unify as follows. Always provide case labels for all enumeration
values, to clarify intent. Abort when the value isn't a valid
SocketAddressKind, because the program state is messed up then.
Improve a few error messages while there.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
io/dns-resolver.c | 7 +++++--
ui/vnc.c | 18 ++++++++++++------
util/qemu-sockets.c | 4 +---
3 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/io/dns-resolver.c b/io/dns-resolver.c
index 0ac6b23..a407075 100644
--- a/io/dns-resolver.c
+++ b/io/dns-resolver.c
@@ -164,9 +164,12 @@ int qio_dns_resolver_lookup_sync(QIODNSResolver *resolver,
addrs,
errp);
+ case SOCKET_ADDRESS_KIND_FD:
+ error_setg(errp, "Unsupported socket address type 'fd'");
+ return -1;
+
default:
- error_setg(errp, "Unknown socket address kind");
- return -1;
+ abort();
}
}
diff --git a/ui/vnc.c b/ui/vnc.c
index fe0a46a..0be77ba 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -129,10 +129,13 @@ static void vnc_init_basic_info(SocketAddress *addr,
info->family = NETWORK_ADDRESS_FAMILY_UNIX;
break;
- default:
- error_setg(errp, "Unsupported socket kind %d",
- addr->type);
+ case SOCKET_ADDRESS_KIND_VSOCK:
+ case SOCKET_ADDRESS_KIND_FD:
+ error_setg(errp, "Unsupported socket address type %s",
+ SocketAddressKind_lookup[addr->type]);
break;
+ default:
+ abort();
}
return;
@@ -411,10 +414,13 @@ VncInfo *qmp_query_vnc(Error **errp)
info->family = NETWORK_ADDRESS_FAMILY_UNIX;
break;
- default:
- error_setg(errp, "Unsupported socket kind %d",
- addr->type);
+ case SOCKET_ADDRESS_KIND_VSOCK:
+ case SOCKET_ADDRESS_KIND_FD:
+ error_setg(errp, "Unsupported socket address type %s",
+ SocketAddressKind_lookup[addr->type]);
goto out_error;
+ default:
+ abort();
}
info->has_host = true;
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 9b73681..4ae37bd 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -1337,9 +1337,7 @@ char *socket_address_to_string(struct SocketAddress
*addr, Error **errp)
break;
default:
- error_setg(errp, "socket family %d unsupported",
- addr->type);
- return NULL;
+ abort();
}
return buf;
}
--
2.7.4
- Re: [Qemu-block] [RFC v2 for-2.9 10/10] sheepdog: Fix blockdev-add, (continued)
- [Qemu-block] [RFC v2 for-2.9 04/10] block: Document -drive problematic code and bugs, Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 05/10] gluster: Prepare for SocketAddressFlat extension, Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 08/10] nbd: Tidy up blockdev-add interface, Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 03/10] io vnc sockets: Clean up SocketAddressKind switches,
Markus Armbruster <=
- [Qemu-block] [RFC v2 for-2.9 06/10] qapi-schema: SocketAddressFlat variants 'vsock' and 'fd', Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 02/10] char: Fix socket with "type": "vsock" address, Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 07/10] sockets: New helper socket_address_crumple(), Markus Armbruster, 2017/03/30
- [Qemu-block] [RFC v2 for-2.9 01/10] nbd sockets vnc: Mark problematic address family tests TODO, Markus Armbruster, 2017/03/30