summaryrefslogblamecommitdiff
path: root/user/libinput/time64.patch
blob: 47833b6ee06a38fd116d6fe2e98859e46076422f (plain) (tree)
















































                                                                      
From 2e15e1f56d673626d518760c1b7997543bb01fea Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 19 Jan 2020 16:01:57 -0600
Subject: [PATCH] evdev-fallback: Use input_event_init for fallback

Old-style field initialisation ignores the 64-bit time_t change in
Linux UAPI, which causes the structure to be incompletely initialised
on 32-bit systems with the 64-bit time_t kernel headers.

This patch uses the input_event_init helper from the original 64-bit
time_t enablement patch.

Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
Fixes: 5dc1a7ebd ("Adjust for 64bit time_t for 32bit architectures")
See-Also: libinput/libinput!346
---
 src/evdev-fallback.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/evdev-fallback.c b/src/evdev-fallback.c
index 651f0111..99c87c87 100644
--- a/src/evdev-fallback.c
+++ b/src/evdev-fallback.c
@@ -29,6 +29,7 @@
 #include <mtdev-plumbing.h>
 
 #include "evdev-fallback.h"
+#include "util-input-event.h"
 
 static void
 fallback_keyboard_notify_key(struct fallback_dispatch *dispatch,
@@ -701,10 +702,10 @@ fallback_lid_keyboard_event(uint64_t time,
 	if (dispatch->lid.reliability == RELIABILITY_WRITE_OPEN) {
 		int fd = libevdev_get_fd(dispatch->device->evdev);
 		int rc;
-		struct input_event ev[2] = {
-			{{ 0, 0 }, EV_SW, SW_LID, 0 },
-			{{ 0, 0 }, EV_SYN, SYN_REPORT, 0 },
-		};
+		struct input_event ev[2];
+
+		ev[0] = input_event_init(0, EV_SW, SW_LID, 0);
+		ev[1] = input_event_init(0, EV_SYN, SYN_REPORT, 0);
 
 		rc = write(fd, ev, sizeof(ev));
 
-- 
2.24.1