[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 41/47] qapi: Use qapi_enum_parse() in input_type_enum
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 41/47] qapi: Use qapi_enum_parse() in input_type_enum() |
Date: |
Fri, 1 Sep 2017 14:56:05 +0200 |
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
---
qapi/qapi-visit-core.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c
index ed6d2af462..ec83ff68f9 100644
--- a/qapi/qapi-visit-core.c
+++ b/qapi/qapi-visit-core.c
@@ -14,6 +14,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "qapi/util.h"
#include "qemu-common.h"
#include "qapi/qmp/qobject.h"
#include "qapi/qmp/qerror.h"
@@ -353,7 +354,7 @@ static void input_type_enum(Visitor *v, const char *name,
int *obj,
const char *const strings[], Error **errp)
{
Error *local_err = NULL;
- int64_t value = 0;
+ int64_t value;
char *enum_str;
visit_type_str(v, name, &enum_str, &local_err);
@@ -362,14 +363,8 @@ static void input_type_enum(Visitor *v, const char *name,
int *obj,
return;
}
- while (strings[value] != NULL) {
- if (strcmp(strings[value], enum_str) == 0) {
- break;
- }
- value++;
- }
-
- if (strings[value] == NULL) {
+ value = qapi_enum_parse(strings, enum_str, -1, NULL);
+ if (value < 0) {
error_setg(errp, QERR_INVALID_PARAMETER, enum_str);
g_free(enum_str);
return;
--
2.13.5
- [Qemu-devel] [PULL 14/47] qlit: Tighten QLit dict vs QDict comparison, (continued)
- [Qemu-devel] [PULL 14/47] qlit: Tighten QLit dict vs QDict comparison, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 01/47] qapi: Fix error handling code on alternate conflict, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 03/47] qobject: Explain how QNum works, and why, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 13/47] tests/check-qlit: New, covering qobject/qlit.c, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 05/47] qlit: move qlit from check-qjson to qobject/, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 17/47] qapi-schema: Introspection doc is in the wrong section, fix, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 10/47] qlit: make qlit_equal_qobject() take const arguments, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 29/47] qapi-schema: Make block-core.json self-contained, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 07/47] qlit: Change compound literals to initializers, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 31/47] qapi-schema: Improve section headings, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 41/47] qapi: Use qapi_enum_parse() in input_type_enum(),
Markus Armbruster <=
- [Qemu-devel] [PULL 06/47] qlit: use QLit prefix consistently, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 32/47] qapi: Update qapi-code-gen.txt examples to match current code, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 26/47] qapi-schema: Collect TPM stuff in qapi/tpm.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 18/47] qapi-schema: Rocker doc section contains unrelated stuff, fix, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 02/47] tests/qmp-test: Add generic, basic test of query commands, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 33/47] qapi: Drop superfluous qapi_enum_parse() parameter max, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 27/47] qapi-schema: Move block events from event.json to block.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 37/47] hmp: Use qapi_enum_parse() in hmp_migrate_set_parameter(), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 12/47] qlit: Replace open-coded qnum_get_int() by call, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL 28/47] qapi-schema: Fold event.json back into qapi-schema.json, Markus Armbruster, 2017/09/01