[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/16] crypto: Use qapi_enum_parse() in qcrypto_bloc
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 09/16] crypto: Use qapi_enum_parse() in qcrypto_block_luks_name_lookup() |
Date: |
Thu, 24 Aug 2017 10:46:04 +0200 |
Cc: "Daniel P. Berrange" <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
crypto/block-luks.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index afb8543..c3cacdb 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "qapi/util.h"
#include "qemu/bswap.h"
#include "crypto/block-luks.h"
@@ -265,39 +266,33 @@
qcrypto_block_luks_cipher_alg_lookup(QCryptoCipherAlgorithm alg,
* make that function emit a more friendly error message */
static int qcrypto_block_luks_name_lookup(const char *name,
const char *const *map,
- size_t maplen,
const char *type,
Error **errp)
{
- size_t i;
- for (i = 0; i < maplen; i++) {
- if (g_str_equal(map[i], name)) {
- return i;
- }
- }
+ int ret = qapi_enum_parse(map, name, -1, NULL);
- error_setg(errp, "%s %s not supported", type, name);
- return 0;
+ if (ret < 0) {
+ error_setg(errp, "%s %s not supported", type, name);
+ return 0;
+ }
+ return ret;
}
#define qcrypto_block_luks_cipher_mode_lookup(name, errp) \
qcrypto_block_luks_name_lookup(name, \
QCryptoCipherMode_lookup, \
- QCRYPTO_CIPHER_MODE__MAX, \
"Cipher mode", \
errp)
#define qcrypto_block_luks_hash_name_lookup(name, errp) \
qcrypto_block_luks_name_lookup(name, \
QCryptoHashAlgorithm_lookup, \
- QCRYPTO_HASH_ALG__MAX, \
"Hash algorithm", \
errp)
#define qcrypto_block_luks_ivgen_name_lookup(name, errp) \
qcrypto_block_luks_name_lookup(name, \
QCryptoIVGenAlgorithm_lookup, \
- QCRYPTO_IVGEN_ALG__MAX, \
"IV generator", \
errp)
--
2.7.5
- Re: [Qemu-devel] [PATCH 01/16] qapi: Update qapi-code-gen.txt examples to match current code, (continued)
[Qemu-devel] [PATCH 07/16] block: Use qemu_enum_parse() in blkdebug_debug_breakpoint(), Markus Armbruster, 2017/08/24
[Qemu-devel] [PATCH 03/16] tpm: Clean up driver registration & lookup, Markus Armbruster, 2017/08/24
[Qemu-devel] [PATCH 09/16] crypto: Use qapi_enum_parse() in qcrypto_block_luks_name_lookup(),
Markus Armbruster <=
[Qemu-devel] [PATCH 15/16] qapi: Change data type of the FOO_lookup generated for enum FOO, Markus Armbruster, 2017/08/24
[Qemu-devel] [PATCH 06/16] hmp: Use qapi_enum_parse() in hmp_migrate_set_parameter(), Markus Armbruster, 2017/08/24
[Qemu-devel] [PATCH 13/16] qapi: Mechanically convert FOO_lookup[...] to FOO_str(...), Markus Armbruster, 2017/08/24
Re: [Qemu-devel] [PATCH 00/16] qapi: Rework mapping of enum value to string, no-reply, 2017/08/24