degesch: refactoring
This commit is contained in:
parent
7d531a9bbf
commit
25bb7a978d
36
degesch.c
36
degesch.c
@ -2156,18 +2156,8 @@ log_message_attributed (void *user_data, const char *quote, const char *fmt,
|
||||
input_show (&ctx->input);
|
||||
}
|
||||
|
||||
static void
|
||||
apply_attribute_change (struct config_item *item, int id)
|
||||
{
|
||||
struct app_context *ctx = item->user_data;
|
||||
free (ctx->attrs[id]);
|
||||
ctx->attrs[id] = xstrdup (item->type == CONFIG_ITEM_NULL
|
||||
? ctx->attrs_defaults[id]
|
||||
: item->value.string.str);
|
||||
}
|
||||
|
||||
static void
|
||||
on_config_attribute_change (struct config_item *item)
|
||||
static ssize_t
|
||||
attr_by_name (const char *name)
|
||||
{
|
||||
static const char *table[ATTR_COUNT] =
|
||||
{
|
||||
@ -2177,11 +2167,23 @@ on_config_attribute_change (struct config_item *item)
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < N_ELEMENTS (table); i++)
|
||||
if (!strcmp (item->schema->name, table[i]))
|
||||
{
|
||||
apply_attribute_change (item, i);
|
||||
return;
|
||||
}
|
||||
if (!strcmp (name, table[i]))
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
on_config_attribute_change (struct config_item *item)
|
||||
{
|
||||
struct app_context *ctx = item->user_data;
|
||||
ssize_t id = attr_by_name (item->schema->name);
|
||||
if (id != -1)
|
||||
{
|
||||
free (ctx->attrs[id]);
|
||||
ctx->attrs[id] = xstrdup (item->type == CONFIG_ITEM_NULL
|
||||
? ctx->attrs_defaults[id]
|
||||
: item->value.string.str);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user