Skip to content

Commit

Permalink
char: Simplify chardev_name_foreach()
Browse files Browse the repository at this point in the history
Both callers use callbacks that don't do anything when they are called
for CLI aliases. Instead of passing the cli_alias parameter, just don't
call the callbacks for aliases in the first place.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210311164253.338723-4-kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
kevmw committed Mar 15, 2021
1 parent 3eda32b commit 086646e
Showing 1 changed file with 5 additions and 19 deletions.
24 changes: 5 additions & 19 deletions chardev/char.c
Expand Up @@ -548,7 +548,7 @@ static struct ChardevAlias {
};

typedef struct ChadevClassFE {
void (*fn)(const char *name, bool is_cli_alias, void *opaque);
void (*fn)(const char *name, void *opaque);
void *opaque;
} ChadevClassFE;

Expand All @@ -562,33 +562,23 @@ chardev_class_foreach(ObjectClass *klass, void *opaque)
return;
}

fe->fn(object_class_get_name(klass) + 8, false, fe->opaque);
fe->fn(object_class_get_name(klass) + 8, fe->opaque);
}

static void
chardev_name_foreach(void (*fn)(const char *name, bool is_cli_alias,
void *opaque),
chardev_name_foreach(void (*fn)(const char *name, void *opaque),
void *opaque)
{
ChadevClassFE fe = { .fn = fn, .opaque = opaque };
int i;

object_class_foreach(chardev_class_foreach, TYPE_CHARDEV, false, &fe);

for (i = 0; i < (int)ARRAY_SIZE(chardev_alias_table); i++) {
fn(chardev_alias_table[i].alias, true, opaque);
}
}

static void
help_string_append(const char *name, bool is_cli_alias, void *opaque)
help_string_append(const char *name, void *opaque)
{
GString *str = opaque;

if (is_cli_alias) {
return;
}

g_string_append_printf(str, "\n %s", name);
}

Expand Down Expand Up @@ -810,15 +800,11 @@ ChardevInfoList *qmp_query_chardev(Error **errp)
}

static void
qmp_prepend_backend(const char *name, bool is_cli_alias, void *opaque)
qmp_prepend_backend(const char *name, void *opaque)
{
ChardevBackendInfoList **list = opaque;
ChardevBackendInfo *value;

if (is_cli_alias) {
return;
}

value = g_new0(ChardevBackendInfo, 1);
value->name = g_strdup(name);
QAPI_LIST_PREPEND(*list, value);
Expand Down

0 comments on commit 086646e

Please sign in to comment.