parse(struct rxkb_context *ctx, const char *path,
enum rxkb_popularity popularity);
+ATTR_PRINTF(3, 4)
static void
rxkb_log(struct rxkb_context *ctx, enum rxkb_log_level level,
const char *fmt, ...)
if (!*name || !strlen(*name)) {
log_err(ctx, "xml:%d: missing required element 'name'\n",
ci->line);
+ free(*name);
+ free(*description);
+ free(*brief);
+ free(*vendor);
return false;
}