return s == NULL || s[0] == '\0';
}
+static inline const char *
+strnull(const char *s)
+{
+ return s ? s : "(null)";
+}
+
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
log_dbg(ctx,
"Compiling from RMLVO: rules '%s', model '%s', layout '%s', "
"variant '%s', options '%s'\n",
- rmlvo.rules, rmlvo.model, rmlvo.layout, rmlvo.variant,
- rmlvo.options);
+ strnull(rmlvo.rules), strnull(rmlvo.model),
+ strnull(rmlvo.layout), strnull(rmlvo.variant),
+ strnull(rmlvo.options));
ok = xkb_components_from_rules(ctx, &rmlvo, &kccgst);
if (!ok) {
log_err(ctx,
"Couldn't look up rules '%s', model '%s', layout '%s', "
"variant '%s', options '%s'\n",
- rmlvo.rules, rmlvo.model, rmlvo.layout, rmlvo.variant,
- rmlvo.options);
+ strnull(rmlvo.rules), strnull(rmlvo.model),
+ strnull(rmlvo.layout), strnull(rmlvo.variant),
+ strnull(rmlvo.options));
return NULL;
}
options);
if (keymap) {
fprintf(stderr, "Compiled '%s' '%s' '%s' '%s' '%s'\n",
- rules, model, layout, variant, options);
+ strnull(rules), strnull(model), strnull(layout),
+ strnull(variant), strnull(options));
xkb_map_unref(keymap);
}