Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808793/?format=api
{ "id": 808793, "url": "http://patchwork.ozlabs.org/api/patches/808793/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170901153758.8628-45-armbru@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170901153758.8628-45-armbru@redhat.com>", "list_archive_url": null, "date": "2017-09-01T15:37:55", "name": "[PULL,v2,44/47] qapi: Mechanically convert FOO_lookup[...] to FOO_str(...)", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "2c3efea49d61cf135c8c379b70567b8967457c66", "submitter": { "id": 2645, "url": "http://patchwork.ozlabs.org/api/people/2645/?format=api", "name": "Markus Armbruster", "email": "armbru@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170901153758.8628-45-armbru@redhat.com/mbox/", "series": [ { "id": 1049, "url": "http://patchwork.ozlabs.org/api/series/1049/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1049", "date": "2017-09-01T15:37:14", "name": "[PULL,v2,01/47] qapi: Fix error handling code on alternate conflict", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/1049/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808793/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808793/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=208.118.235.17; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=armbru@redhat.com" ], "Received": [ "from lists.gnu.org (lists.gnu.org [208.118.235.17])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkPV43lr0z9t1t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 2 Sep 2017 02:15:24 +1000 (AEST)", "from localhost ([::1]:47027 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dnobK-0001Vm-As\n\tfor incoming@patchwork.ozlabs.org; Fri, 01 Sep 2017 12:15:22 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:51818)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <armbru@redhat.com>) id 1dno1Y-0006qK-EJ\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 11:38:30 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <armbru@redhat.com>) id 1dno1O-0001lu-0K\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 11:38:24 -0400", "from mx1.redhat.com ([209.132.183.28]:41810)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <armbru@redhat.com>) id 1dno1N-0001kA-KO\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 11:38:13 -0400", "from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 973D42DDB9\n\tfor <qemu-devel@nongnu.org>; Fri, 1 Sep 2017 15:38:12 +0000 (UTC)", "from blackfin.pond.sub.org (ovpn-116-75.ams2.redhat.com\n\t[10.36.116.75])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id B310C808E6\n\tfor <qemu-devel@nongnu.org>; Fri, 1 Sep 2017 15:38:11 +0000 (UTC)", "by blackfin.pond.sub.org (Postfix, from userid 1000)\n\tid C3F3E1132F4D; Fri, 1 Sep 2017 17:37:58 +0200 (CEST)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 973D42DDB9", "From": "Markus Armbruster <armbru@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Fri, 1 Sep 2017 17:37:55 +0200", "Message-Id": "<20170901153758.8628-45-armbru@redhat.com>", "In-Reply-To": "<20170901153758.8628-1-armbru@redhat.com>", "References": "<20170901153758.8628-1-armbru@redhat.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.13", "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tFri, 01 Sep 2017 15:38:12 +0000 (UTC)", "Content-Transfer-Encoding": "quoted-printable", "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]", "X-Received-From": "209.132.183.28", "Subject": "[Qemu-devel] [PULL v2 44/47] qapi: Mechanically convert\n\tFOO_lookup[...] to FOO_str(...)", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "Signed-off-by: Markus Armbruster <armbru@redhat.com>\nMessage-Id: <1503564371-26090-14-git-send-email-armbru@redhat.com>\nReviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>\n---\n backends/hostmem.c | 2 +-\n block/backup.c | 2 +-\n block/file-posix.c | 4 +--\n block/file-win32.c | 2 +-\n block/gluster.c | 4 +--\n block/iscsi.c | 2 +-\n block/nfs.c | 2 +-\n block/qcow2.c | 4 +--\n block/qed.c | 2 +-\n block/rbd.c | 2 +-\n block/sheepdog.c | 2 +-\n blockdev.c | 4 +--\n blockjob.c | 6 ++---\n chardev/char.c | 4 +--\n crypto/block-luks.c | 12 ++++-----\n crypto/block.c | 4 +--\n crypto/cipher-afalg.c | 2 +-\n crypto/cipher-builtin.c | 8 +++---\n crypto/cipher-gcrypt.c | 4 +--\n crypto/cipher-nettle.c | 8 +++---\n crypto/hmac-gcrypt.c | 2 +-\n crypto/hmac-glib.c | 2 +-\n crypto/hmac-nettle.c | 2 +-\n crypto/pbkdf-gcrypt.c | 2 +-\n crypto/pbkdf-nettle.c | 2 +-\n hmp.c | 54 ++++++++++++++++++-------------------\n hw/block/fdc.c | 6 ++---\n hw/char/escc.c | 2 +-\n hw/input/virtio-input-hid.c | 4 +--\n migration/colo-failover.c | 4 +--\n migration/colo.c | 14 +++++-----\n migration/global_state.c | 2 +-\n monitor.c | 16 +++++------\n net/net.c | 4 +--\n qapi/qmp-dispatch.c | 2 +-\n tests/test-qapi-util.c | 2 +-\n tests/test-qobject-input-visitor.c | 4 +--\n tests/test-qobject-output-visitor.c | 2 +-\n tests/test-string-input-visitor.c | 2 +-\n tests/test-string-output-visitor.c | 4 +--\n tpm.c | 2 +-\n ui/input-legacy.c | 4 +--\n ui/input.c | 12 ++++-----\n ui/vnc.c | 6 ++---\n vl.c | 6 ++---\n 45 files changed, 121 insertions(+), 121 deletions(-)", "diff": "diff --git a/backends/hostmem.c b/backends/hostmem.c\nindex 4606b73849..06e8898e40 100644\n--- a/backends/hostmem.c\n+++ b/backends/hostmem.c\n@@ -304,7 +304,7 @@ host_memory_backend_memory_complete(UserCreatable *uc, Error **errp)\n return;\n } else if (maxnode == 0 && backend->policy != MPOL_DEFAULT) {\n error_setg(errp, \"host-nodes must be set for policy %s\",\n- HostMemPolicy_lookup[backend->policy]);\n+ HostMemPolicy_str(backend->policy));\n return;\n }\n \ndiff --git a/block/backup.c b/block/backup.c\nindex 504a089150..517c300a49 100644\n--- a/block/backup.c\n+++ b/block/backup.c\n@@ -596,7 +596,7 @@ BlockJob *backup_job_create(const char *job_id, BlockDriverState *bs,\n error_setg(errp,\n \"a sync_bitmap was provided to backup_run, \"\n \"but received an incompatible sync_mode (%s)\",\n- MirrorSyncMode_lookup[sync_mode]);\n+ MirrorSyncMode_str(sync_mode));\n return NULL;\n }\n \ndiff --git a/block/file-posix.c b/block/file-posix.c\nindex d81eccc191..bfef91db63 100644\n--- a/block/file-posix.c\n+++ b/block/file-posix.c\n@@ -1724,7 +1724,7 @@ static int raw_regular_truncate(int fd, int64_t offset, PreallocMode prealloc,\n default:\n result = -ENOTSUP;\n error_setg(errp, \"Unsupported preallocation mode: %s\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return result;\n }\n \n@@ -1759,7 +1759,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Preallocation mode '%s' unsupported for this \"\n- \"non-regular file\", PreallocMode_lookup[prealloc]);\n+ \"non-regular file\", PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/file-win32.c b/block/file-win32.c\nindex 192ea819d9..f2a1830060 100644\n--- a/block/file-win32.c\n+++ b/block/file-win32.c\n@@ -469,7 +469,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/gluster.c b/block/gluster.c\nindex 0614e0c8aa..29f9427e47 100644\n--- a/block/gluster.c\n+++ b/block/gluster.c\n@@ -1047,7 +1047,7 @@ static int qemu_gluster_create(const char *filename,\n default:\n ret = -EINVAL;\n error_setg(errp, \"Unsupported preallocation mode: %s\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n break;\n }\n \n@@ -1099,7 +1099,7 @@ static int qemu_gluster_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/iscsi.c b/block/iscsi.c\nindex d557c99668..8b47d30dcc 100644\n--- a/block/iscsi.c\n+++ b/block/iscsi.c\n@@ -2087,7 +2087,7 @@ static int iscsi_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/nfs.c b/block/nfs.c\nindex bec16b72a6..337fcd9c84 100644\n--- a/block/nfs.c\n+++ b/block/nfs.c\n@@ -772,7 +772,7 @@ static int nfs_file_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/qcow2.c b/block/qcow2.c\nindex 3a93983e3f..cbe9681fb0 100644\n--- a/block/qcow2.c\n+++ b/block/qcow2.c\n@@ -2715,7 +2715,7 @@ static int qcow2_create2(const char *filename, int64_t total_size,\n int64_t prealloc_size =\n qcow2_calc_prealloc_size(total_size, cluster_size, refcount_order);\n qemu_opt_set_number(opts, BLOCK_OPT_SIZE, prealloc_size, &error_abort);\n- qemu_opt_set(opts, BLOCK_OPT_PREALLOC, PreallocMode_lookup[prealloc],\n+ qemu_opt_set(opts, BLOCK_OPT_PREALLOC, PreallocMode_str(prealloc),\n &error_abort);\n }\n \n@@ -3080,7 +3080,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64_t offset,\n prealloc != PREALLOC_MODE_FALLOC && prealloc != PREALLOC_MODE_FULL)\n {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/qed.c b/block/qed.c\nindex dc54bf4a93..28e2ec89e8 100644\n--- a/block/qed.c\n+++ b/block/qed.c\n@@ -1399,7 +1399,7 @@ static int bdrv_qed_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/rbd.c b/block/rbd.c\nindex 9c3aa638e7..144f350e1f 100644\n--- a/block/rbd.c\n+++ b/block/rbd.c\n@@ -944,7 +944,7 @@ static int qemu_rbd_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/block/sheepdog.c b/block/sheepdog.c\nindex abb2e79065..1052098ec5 100644\n--- a/block/sheepdog.c\n+++ b/block/sheepdog.c\n@@ -2176,7 +2176,7 @@ static int sd_truncate(BlockDriverState *bs, int64_t offset,\n \n if (prealloc != PREALLOC_MODE_OFF) {\n error_setg(errp, \"Unsupported preallocation mode '%s'\",\n- PreallocMode_lookup[prealloc]);\n+ PreallocMode_str(prealloc));\n return -ENOTSUP;\n }\n \ndiff --git a/blockdev.c b/blockdev.c\nindex f90bc9399a..bfb2a95299 100644\n--- a/blockdev.c\n+++ b/blockdev.c\n@@ -1466,8 +1466,8 @@ static int action_check_completion_mode(BlkActionState *s, Error **errp)\n error_setg(errp,\n \"Action '%s' does not support Transaction property \"\n \"completion-mode = %s\",\n- TransactionActionKind_lookup[s->action->type],\n- ActionCompletionMode_lookup[s->txn_props->completion_mode]);\n+ TransactionActionKind_str(s->action->type),\n+ ActionCompletionMode_str(s->txn_props->completion_mode));\n return -1;\n }\n return 0;\ndiff --git a/blockjob.c b/blockjob.c\nindex 70a78188b7..3a0c49137e 100644\n--- a/blockjob.c\n+++ b/blockjob.c\n@@ -208,7 +208,7 @@ static char *child_job_get_parent_desc(BdrvChild *c)\n {\n BlockJob *job = c->opaque;\n return g_strdup_printf(\"%s job '%s'\",\n- BlockJobType_lookup[job->driver->job_type],\n+ BlockJobType_str(job->driver->job_type),\n job->id);\n }\n \n@@ -553,7 +553,7 @@ BlockJobInfo *block_job_query(BlockJob *job, Error **errp)\n return NULL;\n }\n info = g_new0(BlockJobInfo, 1);\n- info->type = g_strdup(BlockJobType_lookup[job->driver->job_type]);\n+ info->type = g_strdup(BlockJobType_str(job->driver->job_type));\n info->device = g_strdup(job->id);\n info->len = job->len;\n info->busy = job->busy;\n@@ -666,7 +666,7 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver,\n job->refcnt = 1;\n \n error_setg(&job->blocker, \"block device is in use by block job: %s\",\n- BlockJobType_lookup[driver->job_type]);\n+ BlockJobType_str(driver->job_type));\n block_job_add_bdrv(job, \"main node\", bs, 0, BLK_PERM_ALL, &error_abort);\n bs->job = job;\n \ndiff --git a/chardev/char.c b/chardev/char.c\nindex 5d283b90d3..b6fd5eb6a6 100644\n--- a/chardev/char.c\n+++ b/chardev/char.c\n@@ -931,7 +931,7 @@ ChardevReturn *qmp_chardev_add(const char *id, ChardevBackend *backend,\n ChardevReturn *ret;\n Chardev *chr;\n \n- cc = char_get_class(ChardevBackendKind_lookup[backend->type], errp);\n+ cc = char_get_class(ChardevBackendKind_str(backend->type), errp);\n if (!cc) {\n return NULL;\n }\n@@ -989,7 +989,7 @@ ChardevReturn *qmp_chardev_change(const char *id, ChardevBackend *backend,\n return NULL;\n }\n \n- cc = char_get_class(ChardevBackendKind_lookup[backend->type], errp);\n+ cc = char_get_class(ChardevBackendKind_str(backend->type), errp);\n if (!cc) {\n return NULL;\n }\ndiff --git a/crypto/block-luks.c b/crypto/block-luks.c\nindex 84d189a426..4e828951d4 100644\n--- a/crypto/block-luks.c\n+++ b/crypto/block-luks.c\n@@ -257,7 +257,7 @@ qcrypto_block_luks_cipher_alg_lookup(QCryptoCipherAlgorithm alg,\n }\n \n error_setg(errp, \"Algorithm '%s' not supported\",\n- QCryptoCipherAlgorithm_lookup[alg]);\n+ QCryptoCipherAlgorithm_str(alg));\n return NULL;\n }\n \n@@ -392,7 +392,7 @@ qcrypto_block_luks_essiv_cipher(QCryptoCipherAlgorithm cipher,\n break;\n default:\n error_setg(errp, \"Cipher %s not supported with essiv\",\n- QCryptoCipherAlgorithm_lookup[cipher]);\n+ QCryptoCipherAlgorithm_str(cipher));\n return 0;\n }\n }\n@@ -962,16 +962,16 @@ qcrypto_block_luks_create(QCryptoBlock *block,\n goto error;\n }\n \n- cipher_mode = QCryptoCipherMode_lookup[luks_opts.cipher_mode];\n- ivgen_alg = QCryptoIVGenAlgorithm_lookup[luks_opts.ivgen_alg];\n+ cipher_mode = QCryptoCipherMode_str(luks_opts.cipher_mode);\n+ ivgen_alg = QCryptoIVGenAlgorithm_str(luks_opts.ivgen_alg);\n if (luks_opts.has_ivgen_hash_alg) {\n- ivgen_hash_alg = QCryptoHashAlgorithm_lookup[luks_opts.ivgen_hash_alg];\n+ ivgen_hash_alg = QCryptoHashAlgorithm_str(luks_opts.ivgen_hash_alg);\n cipher_mode_spec = g_strdup_printf(\"%s-%s:%s\", cipher_mode, ivgen_alg,\n ivgen_hash_alg);\n } else {\n cipher_mode_spec = g_strdup_printf(\"%s-%s\", cipher_mode, ivgen_alg);\n }\n- hash_alg = QCryptoHashAlgorithm_lookup[luks_opts.hash_alg];\n+ hash_alg = QCryptoHashAlgorithm_str(luks_opts.hash_alg);\n \n \n if (strlen(cipher_alg) >= QCRYPTO_BLOCK_LUKS_CIPHER_NAME_LEN) {\ndiff --git a/crypto/block.c b/crypto/block.c\nindex b097d451af..c382393d9a 100644\n--- a/crypto/block.c\n+++ b/crypto/block.c\n@@ -61,7 +61,7 @@ QCryptoBlock *qcrypto_block_open(QCryptoBlockOpenOptions *options,\n if (options->format >= G_N_ELEMENTS(qcrypto_block_drivers) ||\n !qcrypto_block_drivers[options->format]) {\n error_setg(errp, \"Unsupported block driver %s\",\n- QCryptoBlockFormat_lookup[options->format]);\n+ QCryptoBlockFormat_str(options->format));\n g_free(block);\n return NULL;\n }\n@@ -92,7 +92,7 @@ QCryptoBlock *qcrypto_block_create(QCryptoBlockCreateOptions *options,\n if (options->format >= G_N_ELEMENTS(qcrypto_block_drivers) ||\n !qcrypto_block_drivers[options->format]) {\n error_setg(errp, \"Unsupported block driver %s\",\n- QCryptoBlockFormat_lookup[options->format]);\n+ QCryptoBlockFormat_str(options->format));\n g_free(block);\n return NULL;\n }\ndiff --git a/crypto/cipher-afalg.c b/crypto/cipher-afalg.c\nindex 01343b2b7c..cd72284690 100644\n--- a/crypto/cipher-afalg.c\n+++ b/crypto/cipher-afalg.c\n@@ -52,7 +52,7 @@ qcrypto_afalg_cipher_format_name(QCryptoCipherAlgorithm alg,\n return NULL;\n }\n \n- mode_name = QCryptoCipherMode_lookup[mode];\n+ mode_name = QCryptoCipherMode_str(mode);\n name = g_strdup_printf(\"%s(%s)\", mode_name, alg_name);\n \n return name;\ndiff --git a/crypto/cipher-builtin.c b/crypto/cipher-builtin.c\nindex 16a36d4532..d8c811fd33 100644\n--- a/crypto/cipher-builtin.c\n+++ b/crypto/cipher-builtin.c\n@@ -247,7 +247,7 @@ qcrypto_cipher_init_aes(QCryptoCipherMode mode,\n mode != QCRYPTO_CIPHER_MODE_ECB &&\n mode != QCRYPTO_CIPHER_MODE_XTS) {\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[mode]);\n+ QCryptoCipherMode_str(mode));\n return NULL;\n }\n \n@@ -379,7 +379,7 @@ qcrypto_cipher_init_des_rfb(QCryptoCipherMode mode,\n \n if (mode != QCRYPTO_CIPHER_MODE_ECB) {\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[mode]);\n+ QCryptoCipherMode_str(mode));\n return NULL;\n }\n \n@@ -440,7 +440,7 @@ static QCryptoCipherBuiltin *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n break;\n default:\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[mode]);\n+ QCryptoCipherMode_str(mode));\n return NULL;\n }\n \n@@ -460,7 +460,7 @@ static QCryptoCipherBuiltin *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n default:\n error_setg(errp,\n \"Unsupported cipher algorithm %s\",\n- QCryptoCipherAlgorithm_lookup[alg]);\n+ QCryptoCipherAlgorithm_str(alg));\n return NULL;\n }\n \ndiff --git a/crypto/cipher-gcrypt.c b/crypto/cipher-gcrypt.c\nindex 0489147398..10d75da75d 100644\n--- a/crypto/cipher-gcrypt.c\n+++ b/crypto/cipher-gcrypt.c\n@@ -105,7 +105,7 @@ static QCryptoCipherGcrypt *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n break;\n default:\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[mode]);\n+ QCryptoCipherMode_str(mode));\n return NULL;\n }\n \n@@ -160,7 +160,7 @@ static QCryptoCipherGcrypt *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n \n default:\n error_setg(errp, \"Unsupported cipher algorithm %s\",\n- QCryptoCipherAlgorithm_lookup[alg]);\n+ QCryptoCipherAlgorithm_str(alg));\n return NULL;\n }\n \ndiff --git a/crypto/cipher-nettle.c b/crypto/cipher-nettle.c\nindex c51f119cbc..3848cb3b3a 100644\n--- a/crypto/cipher-nettle.c\n+++ b/crypto/cipher-nettle.c\n@@ -281,7 +281,7 @@ static QCryptoCipherNettle *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n break;\n default:\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[mode]);\n+ QCryptoCipherMode_str(mode));\n return NULL;\n }\n \n@@ -420,7 +420,7 @@ static QCryptoCipherNettle *qcrypto_cipher_ctx_new(QCryptoCipherAlgorithm alg,\n \n default:\n error_setg(errp, \"Unsupported cipher algorithm %s\",\n- QCryptoCipherAlgorithm_lookup[alg]);\n+ QCryptoCipherAlgorithm_str(alg));\n goto error;\n }\n \n@@ -491,7 +491,7 @@ qcrypto_nettle_cipher_encrypt(QCryptoCipher *cipher,\n \n default:\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[cipher->mode]);\n+ QCryptoCipherMode_str(cipher->mode));\n return -1;\n }\n return 0;\n@@ -537,7 +537,7 @@ qcrypto_nettle_cipher_decrypt(QCryptoCipher *cipher,\n \n default:\n error_setg(errp, \"Unsupported cipher mode %s\",\n- QCryptoCipherMode_lookup[cipher->mode]);\n+ QCryptoCipherMode_str(cipher->mode));\n return -1;\n }\n return 0;\ndiff --git a/crypto/hmac-gcrypt.c b/crypto/hmac-gcrypt.c\nindex 76ca61ba24..0c6f979711 100644\n--- a/crypto/hmac-gcrypt.c\n+++ b/crypto/hmac-gcrypt.c\n@@ -52,7 +52,7 @@ void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,\n \n if (!qcrypto_hmac_supports(alg)) {\n error_setg(errp, \"Unsupported hmac algorithm %s\",\n- QCryptoHashAlgorithm_lookup[alg]);\n+ QCryptoHashAlgorithm_str(alg));\n return NULL;\n }\n \ndiff --git a/crypto/hmac-glib.c b/crypto/hmac-glib.c\nindex 8cf6b221ed..a6c1730291 100644\n--- a/crypto/hmac-glib.c\n+++ b/crypto/hmac-glib.c\n@@ -58,7 +58,7 @@ void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,\n \n if (!qcrypto_hmac_supports(alg)) {\n error_setg(errp, \"Unsupported hmac algorithm %s\",\n- QCryptoHashAlgorithm_lookup[alg]);\n+ QCryptoHashAlgorithm_str(alg));\n return NULL;\n }\n \ndiff --git a/crypto/hmac-nettle.c b/crypto/hmac-nettle.c\nindex 1d5a915f03..ec2d61bdde 100644\n--- a/crypto/hmac-nettle.c\n+++ b/crypto/hmac-nettle.c\n@@ -106,7 +106,7 @@ void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,\n \n if (!qcrypto_hmac_supports(alg)) {\n error_setg(errp, \"Unsupported hmac algorithm %s\",\n- QCryptoHashAlgorithm_lookup[alg]);\n+ QCryptoHashAlgorithm_str(alg));\n return NULL;\n }\n \ndiff --git a/crypto/pbkdf-gcrypt.c b/crypto/pbkdf-gcrypt.c\nindex 40289858bf..54ca0d9c75 100644\n--- a/crypto/pbkdf-gcrypt.c\n+++ b/crypto/pbkdf-gcrypt.c\n@@ -68,7 +68,7 @@ int qcrypto_pbkdf2(QCryptoHashAlgorithm hash,\n hash_map[hash] == GCRY_MD_NONE) {\n error_setg_errno(errp, ENOSYS,\n \"PBKDF does not support hash algorithm %s\",\n- QCryptoHashAlgorithm_lookup[hash]);\n+ QCryptoHashAlgorithm_str(hash));\n return -1;\n }\n \ndiff --git a/crypto/pbkdf-nettle.c b/crypto/pbkdf-nettle.c\nindex 6fb2671656..212b3e816b 100644\n--- a/crypto/pbkdf-nettle.c\n+++ b/crypto/pbkdf-nettle.c\n@@ -110,7 +110,7 @@ int qcrypto_pbkdf2(QCryptoHashAlgorithm hash,\n default:\n error_setg_errno(errp, ENOSYS,\n \"PBKDF does not support hash algorithm %s\",\n- QCryptoHashAlgorithm_lookup[hash]);\n+ QCryptoHashAlgorithm_str(hash));\n return -1;\n }\n return 0;\ndiff --git a/hmp.c b/hmp.c\nindex 5d980acb1e..30819fe602 100644\n--- a/hmp.c\n+++ b/hmp.c\n@@ -106,7 +106,7 @@ void hmp_info_status(Monitor *mon, const QDict *qdict)\n info->singlestep ? \" (single step mode)\" : \"\");\n \n if (!info->running && info->status != RUN_STATE_PAUSED) {\n- monitor_printf(mon, \" (%s)\", RunState_lookup[info->status]);\n+ monitor_printf(mon, \" (%s)\", RunState_str(info->status));\n }\n \n monitor_printf(mon, \"\\n\");\n@@ -171,7 +171,7 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict)\n monitor_printf(mon, \"capabilities: \");\n for (cap = caps; cap; cap = cap->next) {\n monitor_printf(mon, \"%s: %s \",\n- MigrationCapability_lookup[cap->value->capability],\n+ MigrationCapability_str(cap->value->capability),\n cap->value->state ? \"on\" : \"off\");\n }\n monitor_printf(mon, \"\\n\");\n@@ -179,7 +179,7 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict)\n \n if (info->has_status) {\n monitor_printf(mon, \"Migration status: %s\",\n- MigrationStatus_lookup[info->status]);\n+ MigrationStatus_str(info->status));\n if (info->status == MIGRATION_STATUS_FAILED &&\n info->has_error_desc) {\n monitor_printf(mon, \" (%s)\\n\", info->error_desc);\n@@ -277,7 +277,7 @@ void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict)\n if (caps) {\n for (cap = caps; cap; cap = cap->next) {\n monitor_printf(mon, \"%s: %s\\n\",\n- MigrationCapability_lookup[cap->value->capability],\n+ MigrationCapability_str(cap->value->capability),\n cap->value->state ? \"on\" : \"off\");\n }\n }\n@@ -294,48 +294,48 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)\n if (params) {\n assert(params->has_compress_level);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_COMPRESS_LEVEL],\n+ MigrationParameter_str(MIGRATION_PARAMETER_COMPRESS_LEVEL),\n params->compress_level);\n assert(params->has_compress_threads);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_COMPRESS_THREADS],\n+ MigrationParameter_str(MIGRATION_PARAMETER_COMPRESS_THREADS),\n params->compress_threads);\n assert(params->has_decompress_threads);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_DECOMPRESS_THREADS],\n+ MigrationParameter_str(MIGRATION_PARAMETER_DECOMPRESS_THREADS),\n params->decompress_threads);\n assert(params->has_cpu_throttle_initial);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_CPU_THROTTLE_INITIAL],\n+ MigrationParameter_str(MIGRATION_PARAMETER_CPU_THROTTLE_INITIAL),\n params->cpu_throttle_initial);\n assert(params->has_cpu_throttle_increment);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_CPU_THROTTLE_INCREMENT],\n+ MigrationParameter_str(MIGRATION_PARAMETER_CPU_THROTTLE_INCREMENT),\n params->cpu_throttle_increment);\n assert(params->has_tls_creds);\n monitor_printf(mon, \"%s: '%s'\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_TLS_CREDS],\n+ MigrationParameter_str(MIGRATION_PARAMETER_TLS_CREDS),\n params->tls_creds);\n assert(params->has_tls_hostname);\n monitor_printf(mon, \"%s: '%s'\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_TLS_HOSTNAME],\n+ MigrationParameter_str(MIGRATION_PARAMETER_TLS_HOSTNAME),\n params->tls_hostname);\n assert(params->has_max_bandwidth);\n monitor_printf(mon, \"%s: %\" PRId64 \" bytes/second\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_MAX_BANDWIDTH],\n+ MigrationParameter_str(MIGRATION_PARAMETER_MAX_BANDWIDTH),\n params->max_bandwidth);\n assert(params->has_downtime_limit);\n monitor_printf(mon, \"%s: %\" PRId64 \" milliseconds\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_DOWNTIME_LIMIT],\n+ MigrationParameter_str(MIGRATION_PARAMETER_DOWNTIME_LIMIT),\n params->downtime_limit);\n assert(params->has_x_checkpoint_delay);\n monitor_printf(mon, \"%s: %\" PRId64 \"\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_X_CHECKPOINT_DELAY],\n+ MigrationParameter_str(MIGRATION_PARAMETER_X_CHECKPOINT_DELAY),\n params->x_checkpoint_delay);\n assert(params->has_block_incremental);\n monitor_printf(mon, \"%s: %s\\n\",\n- MigrationParameter_lookup[MIGRATION_PARAMETER_BLOCK_INCREMENTAL],\n- params->block_incremental ? \"on\" : \"off\");\n+ MigrationParameter_str(MIGRATION_PARAMETER_BLOCK_INCREMENTAL),\n+ params->block_incremental ? \"on\" : \"off\");\n }\n \n qapi_free_MigrationParameters(params);\n@@ -431,7 +431,7 @@ static void print_block_info(Monitor *mon, BlockInfo *info,\n }\n if (info->has_io_status && info->io_status != BLOCK_DEVICE_IO_STATUS_OK) {\n monitor_printf(mon, \" I/O status: %s\\n\",\n- BlockDeviceIoStatus_lookup[info->io_status]);\n+ BlockDeviceIoStatus_str(info->io_status));\n }\n \n if (info->removable) {\n@@ -461,7 +461,7 @@ static void print_block_info(Monitor *mon, BlockInfo *info,\n \n if (inserted->detect_zeroes != BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF) {\n monitor_printf(mon, \" Detect zeroes: %s\\n\",\n- BlockdevDetectZeroesOptions_lookup[inserted->detect_zeroes]);\n+ BlockdevDetectZeroesOptions_str(inserted->detect_zeroes));\n }\n \n if (inserted->bps || inserted->bps_rd || inserted->bps_wr ||\n@@ -612,7 +612,7 @@ static void hmp_info_VncBasicInfo(Monitor *mon, VncBasicInfo *info,\n name,\n info->host,\n info->service,\n- NetworkAddressFamily_lookup[info->family],\n+ NetworkAddressFamily_str(info->family),\n info->websocket ? \" (Websocket)\" : \"\");\n }\n \n@@ -622,8 +622,8 @@ static void hmp_info_vnc_authcrypt(Monitor *mon, const char *indent,\n VncVencryptSubAuth *vencrypt)\n {\n monitor_printf(mon, \"%sAuth: %s (Sub: %s)\\n\", indent,\n- VncPrimaryAuth_lookup[auth],\n- vencrypt ? VncVencryptSubAuth_lookup[*vencrypt] : \"none\");\n+ VncPrimaryAuth_str(auth),\n+ vencrypt ? VncVencryptSubAuth_str(*vencrypt) : \"none\");\n }\n \n static void hmp_info_vnc_clients(Monitor *mon, VncClientInfoList *client)\n@@ -738,7 +738,7 @@ void hmp_info_spice(Monitor *mon, const QDict *qdict)\n monitor_printf(mon, \" auth: %s\\n\", info->auth);\n monitor_printf(mon, \" compiled: %s\\n\", info->compiled_version);\n monitor_printf(mon, \" mouse-mode: %s\\n\",\n- SpiceQueryMouseMode_lookup[info->mouse_mode]);\n+ SpiceQueryMouseMode_str(info->mouse_mode));\n \n if (!info->has_channels || info->channels == NULL) {\n monitor_printf(mon, \"Channels: none\\n\");\n@@ -1009,10 +1009,10 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict)\n for (info = info_list; info; info = info->next) {\n TPMInfo *ti = info->value;\n monitor_printf(mon, \" tpm%d: model=%s\\n\",\n- c, TpmModel_lookup[ti->model]);\n+ c, TpmModel_str(ti->model));\n \n monitor_printf(mon, \" \\\\ %s: type=%s\",\n- ti->id, TpmTypeOptionsKind_lookup[ti->options->type]);\n+ ti->id, TpmTypeOptionsKind_str(ti->options->type));\n \n switch (ti->options->type) {\n case TPM_TYPE_OPTIONS_KIND_PASSTHROUGH:\n@@ -2368,7 +2368,7 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)\n monitor_printf(mon, \" prealloc: %s\\n\",\n m->value->prealloc ? \"true\" : \"false\");\n monitor_printf(mon, \" policy: %s\\n\",\n- HostMemPolicy_lookup[m->value->policy]);\n+ HostMemPolicy_str(m->value->policy));\n visit_complete(v, &str);\n monitor_printf(mon, \" host nodes: %s\\n\", str);\n \n@@ -2399,7 +2399,7 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)\n di = value->u.dimm.data;\n \n monitor_printf(mon, \"Memory device [%s]: \\\"%s\\\"\\n\",\n- MemoryDeviceInfoKind_lookup[value->type],\n+ MemoryDeviceInfoKind_str(value->type),\n di->id ? di->id : \"\");\n monitor_printf(mon, \" addr: 0x%\" PRIx64 \"\\n\", di->addr);\n monitor_printf(mon, \" slot: %\" PRId64 \"\\n\", di->slot);\n@@ -2793,7 +2793,7 @@ void hmp_info_dump(Monitor *mon, const QDict *qdict)\n DumpQueryResult *result = qmp_query_dump(NULL);\n \n assert(result && result->status < DUMP_STATUS__MAX);\n- monitor_printf(mon, \"Status: %s\\n\", DumpStatus_lookup[result->status]);\n+ monitor_printf(mon, \"Status: %s\\n\", DumpStatus_str(result->status));\n \n if (result->status == DUMP_STATUS_ACTIVE) {\n float percent = 0;\ndiff --git a/hw/block/fdc.c b/hw/block/fdc.c\nindex 401129073b..db40e174c9 100644\n--- a/hw/block/fdc.c\n+++ b/hw/block/fdc.c\n@@ -392,9 +392,9 @@ static int pick_geometry(FDrive *drv)\n FLOPPY_DPRINTF(\"User requested floppy drive type '%s', \"\n \"but inserted medium appears to be a \"\n \"%\"PRId64\" sector '%s' type\\n\",\n- FloppyDriveType_lookup[drv->drive],\n+ FloppyDriveType_str(drv->drive),\n nb_sectors,\n- FloppyDriveType_lookup[parse->drive]);\n+ FloppyDriveType_str(parse->drive));\n }\n match = type_match;\n }\n@@ -403,7 +403,7 @@ static int pick_geometry(FDrive *drv)\n if (match == -1) {\n error_setg(&error_abort, \"No candidate geometries present in table \"\n \" for floppy drive type '%s'\",\n- FloppyDriveType_lookup[drv->drive]);\n+ FloppyDriveType_str(drv->drive));\n }\n \n parse = &(fd_formats[match]);\ndiff --git a/hw/char/escc.c b/hw/char/escc.c\nindex 1aca564e33..3ab831a6a7 100644\n--- a/hw/char/escc.c\n+++ b/hw/char/escc.c\n@@ -848,7 +848,7 @@ static void sunkbd_handle_event(DeviceState *dev, QemuConsole *src,\n assert(evt->type == INPUT_EVENT_KIND_KEY);\n key = evt->u.key.data;\n qcode = qemu_input_key_value_to_qcode(key->key);\n- trace_escc_sunkbd_event_in(qcode, QKeyCode_lookup[qcode],\n+ trace_escc_sunkbd_event_in(qcode, QKeyCode_str(qcode),\n key->down);\n \n if (qcode == Q_KEY_CODE_CAPS_LOCK) {\ndiff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c\nindex 46c038110c..4d3afc1b14 100644\n--- a/hw/input/virtio-input-hid.c\n+++ b/hw/input/virtio-input-hid.c\n@@ -209,7 +209,7 @@ static void virtio_input_handle_event(DeviceState *dev, QemuConsole *src,\n } else {\n if (key->down) {\n fprintf(stderr, \"%s: unmapped key: %d [%s]\\n\", __func__,\n- qcode, QKeyCode_lookup[qcode]);\n+ qcode, QKeyCode_str(qcode));\n }\n }\n break;\n@@ -224,7 +224,7 @@ static void virtio_input_handle_event(DeviceState *dev, QemuConsole *src,\n if (btn->down) {\n fprintf(stderr, \"%s: unmapped button: %d [%s]\\n\", __func__,\n btn->button,\n- InputButton_lookup[btn->button]);\n+ InputButton_str(btn->button));\n }\n }\n break;\ndiff --git a/migration/colo-failover.c b/migration/colo-failover.c\nindex f9914869c5..6563862b36 100644\n--- a/migration/colo-failover.c\n+++ b/migration/colo-failover.c\n@@ -34,7 +34,7 @@ static void colo_failover_bh(void *opaque)\n FAILOVER_STATUS_ACTIVE);\n if (old_state != FAILOVER_STATUS_REQUIRE) {\n error_report(\"Unknown error for failover, old_state = %s\",\n- FailoverStatus_lookup[old_state]);\n+ FailoverStatus_str(old_state));\n return;\n }\n \n@@ -64,7 +64,7 @@ FailoverStatus failover_set_state(FailoverStatus old_state,\n \n old = atomic_cmpxchg(&failover_state, old_state, new_state);\n if (old == old_state) {\n- trace_colo_failover_set_state(FailoverStatus_lookup[new_state]);\n+ trace_colo_failover_set_state(FailoverStatus_str(new_state));\n }\n return old;\n }\ndiff --git a/migration/colo.c b/migration/colo.c\nindex a4255432ac..dee3aa8bf7 100644\n--- a/migration/colo.c\n+++ b/migration/colo.c\n@@ -61,7 +61,7 @@ static void secondary_vm_do_failover(void)\n FAILOVER_STATUS_RELAUNCH);\n if (old_state != FAILOVER_STATUS_ACTIVE) {\n error_report(\"Unknown error while do failover for secondary VM,\"\n- \"old_state: %s\", FailoverStatus_lookup[old_state]);\n+ \"old_state: %s\", FailoverStatus_str(old_state));\n }\n return;\n }\n@@ -91,7 +91,7 @@ static void secondary_vm_do_failover(void)\n FAILOVER_STATUS_COMPLETED);\n if (old_state != FAILOVER_STATUS_ACTIVE) {\n error_report(\"Incorrect state (%s) while doing failover for \"\n- \"secondary VM\", FailoverStatus_lookup[old_state]);\n+ \"secondary VM\", FailoverStatus_str(old_state));\n return;\n }\n /* Notify COLO incoming thread that failover work is finished */\n@@ -126,7 +126,7 @@ static void primary_vm_do_failover(void)\n FAILOVER_STATUS_COMPLETED);\n if (old_state != FAILOVER_STATUS_ACTIVE) {\n error_report(\"Incorrect state (%s) while doing failover for Primary VM\",\n- FailoverStatus_lookup[old_state]);\n+ FailoverStatus_str(old_state));\n return;\n }\n /* Notify COLO thread that failover work is finished */\n@@ -222,7 +222,7 @@ static void colo_send_message(QEMUFile *f, COLOMessage msg,\n if (ret < 0) {\n error_setg_errno(errp, -ret, \"Can't send COLO message\");\n }\n- trace_colo_send_message(COLOMessage_lookup[msg]);\n+ trace_colo_send_message(COLOMessage_str(msg));\n }\n \n static void colo_send_message_value(QEMUFile *f, COLOMessage msg,\n@@ -242,7 +242,7 @@ static void colo_send_message_value(QEMUFile *f, COLOMessage msg,\n ret = qemu_file_get_error(f);\n if (ret < 0) {\n error_setg_errno(errp, -ret, \"Failed to send value for message:%s\",\n- COLOMessage_lookup[msg]);\n+ COLOMessage_str(msg));\n }\n }\n \n@@ -261,7 +261,7 @@ static COLOMessage colo_receive_message(QEMUFile *f, Error **errp)\n error_setg(errp, \"%s: Invalid message\", __func__);\n return msg;\n }\n- trace_colo_receive_message(COLOMessage_lookup[msg]);\n+ trace_colo_receive_message(COLOMessage_str(msg));\n return msg;\n }\n \n@@ -299,7 +299,7 @@ static uint64_t colo_receive_message_value(QEMUFile *f, uint32_t expect_msg,\n ret = qemu_file_get_error(f);\n if (ret < 0) {\n error_setg_errno(errp, -ret, \"Failed to get value for COLO message: %s\",\n- COLOMessage_lookup[expect_msg]);\n+ COLOMessage_str(expect_msg));\n }\n return value;\n }\ndiff --git a/migration/global_state.c b/migration/global_state.c\nindex 76cd3a13d4..8db2f19459 100644\n--- a/migration/global_state.c\n+++ b/migration/global_state.c\n@@ -41,7 +41,7 @@ int global_state_store(void)\n \n void global_state_store_running(void)\n {\n- const char *state = RunState_lookup[RUN_STATE_RUNNING];\n+ const char *state = RunState_str(RUN_STATE_RUNNING);\n strncpy((char *)global_state.runstate,\n state, sizeof(global_state.runstate));\n }\ndiff --git a/monitor.c b/monitor.c\nindex 86438f4b75..9239f7adde 100644\n--- a/monitor.c\n+++ b/monitor.c\n@@ -928,7 +928,7 @@ EventInfoList *qmp_query_events(Error **errp)\n QAPIEvent e;\n \n for (e = 0 ; e < QAPI_EVENT__MAX ; e++) {\n- const char *event_name = QAPIEvent_lookup[e];\n+ const char *event_name = QAPIEvent_str(e);\n assert(event_name != NULL);\n info = g_malloc0(sizeof(*info));\n info->value = g_malloc0(sizeof(*info->value));\n@@ -3250,7 +3250,7 @@ void netdev_add_completion(ReadLineState *rs, int nb_args, const char *str)\n len = strlen(str);\n readline_set_completion_index(rs, len);\n for (i = 0; i < NET_CLIENT_DRIVER__MAX; i++) {\n- add_completion_option(rs, str, NetClientDriver_lookup[i]);\n+ add_completion_option(rs, str, NetClientDriver_str(i));\n }\n }\n \n@@ -3434,8 +3434,8 @@ void sendkey_completion(ReadLineState *rs, int nb_args, const char *str)\n len = strlen(str);\n readline_set_completion_index(rs, len);\n for (i = 0; i < Q_KEY_CODE__MAX; i++) {\n- if (!strncmp(str, QKeyCode_lookup[i], len)) {\n- readline_add_completion(rs, QKeyCode_lookup[i]);\n+ if (!strncmp(str, QKeyCode_str(i), len)) {\n+ readline_add_completion(rs, QKeyCode_str(i));\n }\n }\n }\n@@ -3538,7 +3538,7 @@ void watchdog_action_completion(ReadLineState *rs, int nb_args, const char *str)\n }\n readline_set_completion_index(rs, strlen(str));\n for (i = 0; i < WATCHDOG_EXPIRATION_ACTION__MAX; i++) {\n- add_completion_option(rs, str, WatchdogExpirationAction_lookup[i]);\n+ add_completion_option(rs, str, WatchdogExpirationAction_str(i));\n }\n }\n \n@@ -3552,7 +3552,7 @@ void migrate_set_capability_completion(ReadLineState *rs, int nb_args,\n if (nb_args == 2) {\n int i;\n for (i = 0; i < MIGRATION_CAPABILITY__MAX; i++) {\n- const char *name = MigrationCapability_lookup[i];\n+ const char *name = MigrationCapability_str(i);\n if (!strncmp(str, name, len)) {\n readline_add_completion(rs, name);\n }\n@@ -3573,7 +3573,7 @@ void migrate_set_parameter_completion(ReadLineState *rs, int nb_args,\n if (nb_args == 2) {\n int i;\n for (i = 0; i < MIGRATION_PARAMETER__MAX; i++) {\n- const char *name = MigrationParameter_lookup[i];\n+ const char *name = MigrationParameter_str(i);\n if (!strncmp(str, name, len)) {\n readline_add_completion(rs, name);\n }\n@@ -3852,7 +3852,7 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens)\n qdict = qdict_get_qdict(qobject_to_qdict(rsp), \"error\");\n if (qdict\n && !g_strcmp0(qdict_get_try_str(qdict, \"class\"),\n- QapiErrorClass_lookup[ERROR_CLASS_COMMAND_NOT_FOUND])) {\n+ QapiErrorClass_str(ERROR_CLASS_COMMAND_NOT_FOUND))) {\n /* Provide a more useful error message */\n qdict_del(qdict, \"desc\");\n qdict_put_str(qdict, \"desc\", \"Expecting capabilities negotiation\"\ndiff --git a/net/net.c b/net/net.c\nindex 0e28099554..2fa99c0497 100644\n--- a/net/net.c\n+++ b/net/net.c\n@@ -1064,7 +1064,7 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)\n /* FIXME drop when all init functions store an Error */\n if (errp && !*errp) {\n error_setg(errp, QERR_DEVICE_INIT_FAILED,\n- NetClientDriver_lookup[netdev->type]);\n+ NetClientDriver_str(netdev->type));\n }\n return -1;\n }\n@@ -1288,7 +1288,7 @@ void print_net_client(Monitor *mon, NetClientState *nc)\n \n monitor_printf(mon, \"%s: index=%d,type=%s,%s\\n\", nc->name,\n nc->queue_index,\n- NetClientDriver_lookup[nc->info->type],\n+ NetClientDriver_str(nc->info->type),\n nc->info_str);\n if (!QTAILQ_EMPTY(&nc->filters)) {\n monitor_printf(mon, \"filters:\\n\");\ndiff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c\nindex 5ad36f8a09..b41fa174fe 100644\n--- a/qapi/qmp-dispatch.c\n+++ b/qapi/qmp-dispatch.c\n@@ -118,7 +118,7 @@ static QObject *do_qmp_dispatch(QmpCommandList *cmds, QObject *request,\n QObject *qmp_build_error_object(Error *err)\n {\n return qobject_from_jsonf(\"{ 'class': %s, 'desc': %s }\",\n- QapiErrorClass_lookup[error_get_class(err)],\n+ QapiErrorClass_str(error_get_class(err)),\n error_get_pretty(err));\n }\n \ndiff --git a/tests/test-qapi-util.c b/tests/test-qapi-util.c\nindex 7e1be1d851..0992bdb218 100644\n--- a/tests/test-qapi-util.c\n+++ b/tests/test-qapi-util.c\n@@ -31,7 +31,7 @@ static void test_qapi_enum_parse(void)\n ret = qapi_enum_parse(QType_lookup, \"none\", -1, &error_abort);\n g_assert_cmpint(ret, ==, QTYPE_NONE);\n \n- ret = qapi_enum_parse(QType_lookup, QType_lookup[QTYPE__MAX - 1],\n+ ret = qapi_enum_parse(QType_lookup, QType_str(QTYPE__MAX - 1),\n QTYPE__MAX - 1, &error_abort);\n g_assert_cmpint(ret, ==, QTYPE__MAX - 1);\n }\ndiff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c\nindex 5bbfb65a02..f8720aa5eb 100644\n--- a/tests/test-qobject-input-visitor.c\n+++ b/tests/test-qobject-input-visitor.c\n@@ -385,7 +385,7 @@ static void test_visitor_in_enum(TestInputVisitorData *data,\n for (i = 0; i < ENUM_ONE__MAX; i++) {\n EnumOne res = -1;\n \n- v = visitor_input_test_init(data, \"%s\", EnumOne_lookup[i]);\n+ v = visitor_input_test_init(data, \"%s\", EnumOne_str(i));\n \n visit_type_EnumOne(v, NULL, &res, &error_abort);\n g_assert_cmpint(i, ==, res);\n@@ -699,7 +699,7 @@ static void test_native_list_integer_helper(TestInputVisitorData *data,\n }\n }\n g_string_append_printf(gstr_union, \"{ 'type': '%s', 'data': [ %s ] }\",\n- UserDefNativeListUnionKind_lookup[kind],\n+ UserDefNativeListUnionKind_str(kind),\n gstr_list->str);\n v = visitor_input_test_init_raw(data, gstr_union->str);\n \ndiff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c\nindex 7eb162059c..d375100a52 100644\n--- a/tests/test-qobject-output-visitor.c\n+++ b/tests/test-qobject-output-visitor.c\n@@ -133,7 +133,7 @@ static void test_visitor_out_enum(TestOutputVisitorData *data,\n \n qstr = qobject_to_qstring(visitor_get(data));\n g_assert(qstr);\n- g_assert_cmpstr(qstring_get_str(qstr), ==, EnumOne_lookup[i]);\n+ g_assert_cmpstr(qstring_get_str(qstr), ==, EnumOne_str(i));\n visitor_reset(data);\n }\n }\ndiff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c\nindex e7a7b80c92..4f9c36bef1 100644\n--- a/tests/test-string-input-visitor.c\n+++ b/tests/test-string-input-visitor.c\n@@ -282,7 +282,7 @@ static void test_visitor_in_enum(TestInputVisitorData *data,\n for (i = 0; i < ENUM_ONE__MAX; i++) {\n EnumOne res = -1;\n \n- v = visitor_input_test_init(data, EnumOne_lookup[i]);\n+ v = visitor_input_test_init(data, EnumOne_str(i));\n \n visit_type_EnumOne(v, NULL, &res, &err);\n g_assert(!err);\ndiff --git a/tests/test-string-output-visitor.c b/tests/test-string-output-visitor.c\nindex e736db3af8..385cddb5d9 100644\n--- a/tests/test-string-output-visitor.c\n+++ b/tests/test-string-output-visitor.c\n@@ -194,12 +194,12 @@ static void test_visitor_out_enum(TestOutputVisitorData *data,\n \n str = visitor_get(data);\n if (data->human) {\n- char *str_human = g_strdup_printf(\"\\\"%s\\\"\", EnumOne_lookup[i]);\n+ char *str_human = g_strdup_printf(\"\\\"%s\\\"\", EnumOne_str(i));\n \n g_assert_cmpstr(str, ==, str_human);\n g_free(str_human);\n } else {\n- g_assert_cmpstr(str, ==, EnumOne_lookup[i]);\n+ g_assert_cmpstr(str, ==, EnumOne_str(i));\n }\n visitor_reset(data);\n }\ndiff --git a/tpm.c b/tpm.c\nindex 38f3eb827f..111f1ca63f 100644\n--- a/tpm.c\n+++ b/tpm.c\n@@ -62,7 +62,7 @@ static void tpm_display_backend_drivers(void)\n continue;\n }\n fprintf(stderr, \"%12s %s\\n\",\n- TpmType_lookup[i], be_drivers[i]->desc());\n+ TpmType_str(i), be_drivers[i]->desc());\n }\n fprintf(stderr, \"\\n\");\n }\ndiff --git a/ui/input-legacy.c b/ui/input-legacy.c\nindex a5f1e829c3..6bc3525499 100644\n--- a/ui/input-legacy.c\n+++ b/ui/input-legacy.c\n@@ -62,8 +62,8 @@ int index_from_key(const char *key, size_t key_length)\n int i;\n \n for (i = 0; i < Q_KEY_CODE__MAX; i++) {\n- if (!strncmp(key, QKeyCode_lookup[i], key_length) &&\n- !QKeyCode_lookup[i][key_length]) {\n+ if (!strncmp(key, QKeyCode_str(i), key_length) &&\n+ !QKeyCode_str(i)[key_length]) {\n break;\n }\n }\ndiff --git a/ui/input.c b/ui/input.c\nindex af05f06368..3422d4a8ef 100644\n--- a/ui/input.c\n+++ b/ui/input.c\n@@ -151,7 +151,7 @@ void qmp_input_send_event(bool has_device, const char *device,\n if (!qemu_input_find_handler(1 << event->type, con)) {\n error_setg(errp, \"Input handler not found for \"\n \"event type %s\",\n- InputEventKind_lookup[event->type]);\n+ InputEventKind_str(event->type));\n return;\n }\n }\n@@ -213,12 +213,12 @@ static void qemu_input_event_trace(QemuConsole *src, InputEvent *evt)\n switch (key->key->type) {\n case KEY_VALUE_KIND_NUMBER:\n qcode = qemu_input_key_number_to_qcode(key->key->u.number.data);\n- name = QKeyCode_lookup[qcode];\n+ name = QKeyCode_str(qcode);\n trace_input_event_key_number(idx, key->key->u.number.data,\n name, key->down);\n break;\n case KEY_VALUE_KIND_QCODE:\n- name = QKeyCode_lookup[key->key->u.qcode.data];\n+ name = QKeyCode_str(key->key->u.qcode.data);\n trace_input_event_key_qcode(idx, name, key->down);\n break;\n case KEY_VALUE_KIND__MAX:\n@@ -228,17 +228,17 @@ static void qemu_input_event_trace(QemuConsole *src, InputEvent *evt)\n break;\n case INPUT_EVENT_KIND_BTN:\n btn = evt->u.btn.data;\n- name = InputButton_lookup[btn->button];\n+ name = InputButton_str(btn->button);\n trace_input_event_btn(idx, name, btn->down);\n break;\n case INPUT_EVENT_KIND_REL:\n move = evt->u.rel.data;\n- name = InputAxis_lookup[move->axis];\n+ name = InputAxis_str(move->axis);\n trace_input_event_rel(idx, name, move->value);\n break;\n case INPUT_EVENT_KIND_ABS:\n move = evt->u.abs.data;\n- name = InputAxis_lookup[move->axis];\n+ name = InputAxis_str(move->axis);\n trace_input_event_abs(idx, name, move->value);\n break;\n case INPUT_EVENT_KIND__MAX:\ndiff --git a/ui/vnc.c b/ui/vnc.c\nindex fd43f9b983..0b5dbc62e4 100644\n--- a/ui/vnc.c\n+++ b/ui/vnc.c\n@@ -131,7 +131,7 @@ static void vnc_init_basic_info(SocketAddress *addr,\n case SOCKET_ADDRESS_TYPE_VSOCK:\n case SOCKET_ADDRESS_TYPE_FD:\n error_setg(errp, \"Unsupported socket address type %s\",\n- SocketAddressType_lookup[addr->type]);\n+ SocketAddressType_str(addr->type));\n break;\n default:\n abort();\n@@ -416,7 +416,7 @@ VncInfo *qmp_query_vnc(Error **errp)\n case SOCKET_ADDRESS_TYPE_VSOCK:\n case SOCKET_ADDRESS_TYPE_FD:\n error_setg(errp, \"Unsupported socket address type %s\",\n- SocketAddressType_lookup[addr->type]);\n+ SocketAddressType_str(addr->type));\n goto out_error;\n default:\n abort();\n@@ -1839,7 +1839,7 @@ static void vnc_release_modifiers(VncState *vs)\n \n static const char *code2name(int keycode)\n {\n- return QKeyCode_lookup[qemu_input_key_number_to_qcode(keycode)];\n+ return QKeyCode_str(qemu_input_key_number_to_qcode(keycode));\n }\n \n static void key_event(VncState *vs, int down, uint32_t sym)\ndiff --git a/vl.c b/vl.c\nindex 8e247cc2a2..0b45e1b6fa 100644\n--- a/vl.c\n+++ b/vl.c\n@@ -688,7 +688,7 @@ bool runstate_check(RunState state)\n \n bool runstate_store(char *str, size_t size)\n {\n- const char *state = RunState_lookup[current_run_state];\n+ const char *state = RunState_str(current_run_state);\n size_t len = strlen(state) + 1;\n \n if (len > size) {\n@@ -721,8 +721,8 @@ void runstate_set(RunState new_state)\n \n if (!runstate_valid_transitions[current_run_state][new_state]) {\n error_report(\"invalid runstate transition: '%s' -> '%s'\",\n- RunState_lookup[current_run_state],\n- RunState_lookup[new_state]);\n+ RunState_str(current_run_state),\n+ RunState_str(new_state));\n abort();\n }\n trace_runstate_set(new_state);\n", "prefixes": [ "PULL", "v2", "44/47" ] }