Skip to content

Commit

Permalink
Values in [modules/display] group are too appended, not overridden
Browse files Browse the repository at this point in the history
  • Loading branch information
spiiroin committed Jan 4, 2013
1 parent ca83789 commit b7f265e
Showing 1 changed file with 21 additions and 5 deletions.
26 changes: 21 additions & 5 deletions mce-conf.c
Expand Up @@ -401,11 +401,27 @@ static void mce_conf_append_key(GKeyFile *dest, GKeyFile *srce,
static void mce_conf_merge_key(GKeyFile *dest, GKeyFile *srce,
const char *grp, const char *key)
{
if( !strcmp(grp, "evdev") ) {
mce_conf_append_key(dest, srce, grp, key);
}
else {
mce_conf_override_key(dest, srce, grp, key);
/* groups/keys to append instead of overriding */
static const struct {
const gchar *grp;
const gchar *key; // NULL == every key in the group
} lut[] = {
{ .grp = "evdev" },
{ .grp = "modules/display" },
{ .grp = NULL }
};

for( size_t i = 0; ; ++i ) {
if( lut[i].grp == NULL ) {
mce_conf_override_key(dest, srce, grp, key);
break;
}
if( strcmp(lut[i].grp, grp) )
continue;
if( !lut[i].key || !strcmp(lut[i].key, key) ) {
mce_conf_append_key(dest, srce, grp, key);
break;
}
}
}

Expand Down

0 comments on commit b7f265e

Please sign in to comment.