} AliasInfo;
typedef struct {
- unsigned file_id;
-
xkb_atom_t name;
} KeyNameInfo;
typedef struct {
enum merge_mode merge;
- unsigned file_id;
xkb_atom_t name;
} LedNameInfo;
char *name;
int errorCount;
enum merge_mode merge;
- unsigned file_id;
xkb_keycode_t min_key_code;
xkb_keycode_t max_key_code;
}
static bool
-AddLedName(KeyNamesInfo *info, enum merge_mode merge,
+AddLedName(KeyNamesInfo *info, enum merge_mode merge, bool same_file,
LedNameInfo *new, xkb_led_index_t new_idx)
{
xkb_led_index_t old_idx;
/* Inidicator with the same name already exists. */
old = FindLedByName(info, new->name, &old_idx);
if (old) {
- const bool report = ((old->file_id == new->file_id && verbosity > 0) ||
- verbosity > 9);
+ const bool report = (same_file && verbosity > 0) || verbosity > 9;
if (old_idx == new_idx) {
log_warn(info->ctx,
/* Inidicator with the same index already exists. */
old = &darray_item(info->led_names, new_idx);
if (old->name != XKB_ATOM_NONE) {
- const bool report = ((old->file_id == new->file_id && verbosity > 0) ||
- verbosity > 9);
+ const bool report = (same_file && verbosity > 0) || verbosity > 9;
/* Same name case already handled above. */
}
static void
-InitKeyNamesInfo(KeyNamesInfo *info, struct xkb_context *ctx,
- unsigned file_id)
+InitKeyNamesInfo(KeyNamesInfo *info, struct xkb_context *ctx)
{
memset(info, 0, sizeof(*info));
info->ctx = ctx;
info->merge = MERGE_DEFAULT;
- info->file_id = file_id;
info->min_key_code = XKB_KEYCODE_MAX;
}
static bool
AddKeyName(KeyNamesInfo *info, xkb_keycode_t kc, xkb_atom_t name,
- enum merge_mode merge, unsigned file_id, bool report)
+ enum merge_mode merge, bool same_file, bool report)
{
KeyNameInfo *namei;
xkb_keycode_t old;
namei = &darray_item(info->key_names, kc);
- report = report && ((verbosity > 0 && file_id == namei->file_id) ||
- verbosity > 7);
+ report = report && ((same_file && verbosity > 0) || verbosity > 7);
if (namei->name != 0) {
const char *lname = KeyNameText(info->ctx, namei->name);
"Multiple names for keycode %d; "
"Using %s, ignoring %s\n", kc, kname, lname);
namei->name = 0;
- namei->file_id = 0;
}
}
if (merge == MERGE_OVERRIDE) {
darray_item(info->key_names, old).name = 0;
- darray_item(info->key_names, old).file_id = 0;
if (report)
log_warn(info->ctx,
"Key name %s assigned to multiple keys; "
}
namei->name = name;
- namei->file_id = file_id;
return true;
}
if (name == XKB_ATOM_NONE)
continue;
- if (!AddKeyName(into, i, name, merge, from->file_id, false))
+ if (!AddKeyName(into, i, name, merge, true, false))
into->errorCount++;
}
}
continue;
ledi->merge = (merge == MERGE_DEFAULT ? ledi->merge : merge);
- if (!AddLedName(into, ledi->merge, ledi, idx))
+ if (!AddLedName(into, ledi->merge, false, ledi, idx))
into->errorCount++;
}
}
{
KeyNamesInfo included;
- InitKeyNamesInfo(&included, info->ctx, info->file_id);
+ InitKeyNamesInfo(&included, info->ctx);
included.name = include->stmt;
include->stmt = NULL;
return false;
}
- InitKeyNamesInfo(&next_incl, info->ctx, file->id);
+ InitKeyNamesInfo(&next_incl, info->ctx);
HandleKeycodesFile(&next_incl, file, MERGE_OVERRIDE);
return false;
}
- return AddKeyName(info, stmt->value, stmt->name, merge,
- info->file_id, true);
+ return AddKeyName(info, stmt->value, stmt->name, merge, false, true);
}
static int
}
ledi.merge = info->merge;
- ledi.file_id = info->file_id;
ledi.name = name;
- return AddLedName(info, merge, &ledi, def->ndx - 1);
+ return AddLedName(info, merge, true, &ledi, def->ndx - 1);
}
static void
{
KeyNamesInfo info;
- InitKeyNamesInfo(&info, keymap->ctx, file->id);
+ InitKeyNamesInfo(&info, keymap->ctx);
HandleKeycodesFile(&info, file, merge);
if (info.errorCount != 0)