quirks: correctly print boolean values
authorLoïc Yhuel <loic.yhuel@softathome.com>
Mon, 6 Apr 2020 21:48:20 +0000 (23:48 +0200)
committerLoïc Yhuel <loic.yhuel@softathome.com>
Mon, 6 Apr 2020 21:51:01 +0000 (23:51 +0200)
When a boolean quirk is set to "0", it is correctly disabled, but "libinput quirks list" and
"libinput record" showed it as "1".

This happens for example if ModelXXXX=0 is set in /etc/libinput/local-overrides.quirks, to
override a default quirk.

Signed-off-by: Loïc Yhuel <loic.yhuel@softathome.com>
tools/shared.c

index 3bd48c8..c8793b3 100644 (file)
@@ -620,9 +620,11 @@ tools_list_device_quirks(struct quirks_context *ctx,
        do {
                if (quirks_has_quirk(quirks, q)) {
                        const char *name;
+                       bool b;
 
                        name = quirk_get_name(q);
-                       snprintf(buf, sizeof(buf), "%s=1", name);
+                       quirks_get_bool(quirks, q, &b);
+                       snprintf(buf, sizeof(buf), "%s=%d", name, b ? 1 : 0);
                        callback(userdata, buf);
                }
        } while(++q < _QUIRK_LAST_MODEL_QUIRK_);