[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 42/47] qapi: Avoid unnecessary use of enum lookup tab
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 42/47] qapi: Avoid unnecessary use of enum lookup table's sentinel |
Date: |
Fri, 1 Sep 2017 14:56:06 +0200 |
Currently, the FOO_lookup[] generated for QAPI enum types are
terminated by a NULL sentinel.
A future patch will generate enums with "holes". NULL-termination
will cease to work then.
To prepare for that, replace "have we reached the sentinel?"
predicates by "have we reached the FOO__MAX value?" predicates.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
---
monitor.c | 4 ++--
tests/test-qobject-input-visitor.c | 2 +-
tests/test-string-input-visitor.c | 2 +-
ui/input-legacy.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/monitor.c b/monitor.c
index 135ec2de8f..86438f4b75 100644
--- a/monitor.c
+++ b/monitor.c
@@ -3249,7 +3249,7 @@ void netdev_add_completion(ReadLineState *rs, int
nb_args, const char *str)
}
len = strlen(str);
readline_set_completion_index(rs, len);
- for (i = 0; NetClientDriver_lookup[i]; i++) {
+ for (i = 0; i < NET_CLIENT_DRIVER__MAX; i++) {
add_completion_option(rs, str, NetClientDriver_lookup[i]);
}
}
@@ -3537,7 +3537,7 @@ void watchdog_action_completion(ReadLineState *rs, int
nb_args, const char *str)
return;
}
readline_set_completion_index(rs, strlen(str));
- for (i = 0; WatchdogExpirationAction_lookup[i]; i++) {
+ for (i = 0; i < WATCHDOG_EXPIRATION_ACTION__MAX; i++) {
add_completion_option(rs, str, WatchdogExpirationAction_lookup[i]);
}
}
diff --git a/tests/test-qobject-input-visitor.c
b/tests/test-qobject-input-visitor.c
index bcf02617dc..5bbfb65a02 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -382,7 +382,7 @@ static void test_visitor_in_enum(TestInputVisitorData *data,
Visitor *v;
EnumOne i;
- for (i = 0; EnumOne_lookup[i]; i++) {
+ for (i = 0; i < ENUM_ONE__MAX; i++) {
EnumOne res = -1;
v = visitor_input_test_init(data, "%s", EnumOne_lookup[i]);
diff --git a/tests/test-string-input-visitor.c
b/tests/test-string-input-visitor.c
index 79313a7f7a..e7a7b80c92 100644
--- a/tests/test-string-input-visitor.c
+++ b/tests/test-string-input-visitor.c
@@ -279,7 +279,7 @@ static void test_visitor_in_enum(TestInputVisitorData *data,
Visitor *v;
EnumOne i;
- for (i = 0; EnumOne_lookup[i]; i++) {
+ for (i = 0; i < ENUM_ONE__MAX; i++) {
EnumOne res = -1;
v = visitor_input_test_init(data, EnumOne_lookup[i]);
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
index 7159747404..a5f1e829c3 100644
--- a/ui/input-legacy.c
+++ b/ui/input-legacy.c
@@ -61,7 +61,7 @@ int index_from_key(const char *key, size_t key_length)
{
int i;
- for (i = 0; QKeyCode_lookup[i] != NULL; i++) {
+ for (i = 0; i < Q_KEY_CODE__MAX; i++) {
if (!strncmp(key, QKeyCode_lookup[i], key_length) &&
!QKeyCode_lookup[i][key_length]) {
break;
--
2.13.5
- [Qemu-devel] [PULL 30/47] qapi-schema: Move queries from common.json to qapi-schema.json, (continued)
- [Qemu-devel] [PULL 30/47] qapi-schema: Move queries from common.json to qapi-schema.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 44/47] qapi: Mechanically convert FOO_lookup[...] to FOO_str(...), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 38/47] block: Use qemu_enum_parse() in blkdebug_debug_breakpoint(), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 43/47] qapi: Generate FOO_str() macro for QAPI enum FOO, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 15/47] qlit: Tighten QLit list vs QList comparison, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 35/47] tpm: Clean up model registration & lookup, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 11/47] qlit: add QLIT_QNULL and QLIT_BOOL, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 34/47] tpm: Clean up driver registration & lookup, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 40/47] crypto: Use qapi_enum_parse() in qcrypto_block_luks_name_lookup(), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 23/47] qapi-schema: Collect UI stuff in qapi/ui.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 42/47] qapi: Avoid unnecessary use of enum lookup table's sentinel,
Markus Armbruster <=
- [Qemu-devel] [PULL 46/47] qapi: Change data type of the FOO_lookup generated for enum FOO, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 24/47] qapi-schema: Collect migration stuff in qapi/migration.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 22/47] qapi-schema: Collect net device stuff in qapi/net.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 36/47] hmp: Use qapi_enum_parse() in hmp_migrate_set_capability(), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 39/47] quorum: Use qapi_enum_parse() in quorum_open(), Markus Armbruster, 2017/09/01
- Re: [Qemu-devel] [PULL 00/47] QAPI patches for 2017-09-01, no-reply, 2017/09/01