const char *
KeysymText(struct xkb_context *ctx, xkb_keysym_t sym)
{
- static char buffer[64];
-
- xkb_keysym_get_name(sym, buffer, sizeof buffer);
-
+ char *buffer = xkb_context_get_buffer(ctx, 64);
+ xkb_keysym_get_name(sym, buffer, 64);
return buffer;
}
static const char *
siText(SymInterpInfo *si, CompatInfo *info)
{
- static char buf[128];
+ char *buf = xkb_context_get_buffer(info->keymap->ctx, 128);
if (si == &info->dflt)
return "default";
- snprintf(buf, sizeof(buf), "%s+%s(%s)",
+ snprintf(buf, 128, "%s+%s(%s)",
KeysymText(info->keymap->ctx, si->interp.sym),
SIMatchText(si->interp.match),
ModMaskText(info->keymap, si->interp.mods));
+
return buf;
}