@@ -115,13 +115,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data)
static void vi_handle_status(VuInput *vi, virtio_input_event *event)
{
struct input_event evdev;
+ struct timeval tv;
int rc;
- if (gettimeofday(&evdev.time, NULL)) {
+ if (gettimeofday(&tv, NULL)) {
perror("vi_handle_status: gettimeofday");
return;
}
+ evdev.input_event_sec = tv.tv_sec;
+ evdev.input_event_usec = tv.tv_usec;
evdev.type = le16toh(event->type);
evdev.code = le16toh(event->code);
evdev.value = le32toh(event->value);
On 32-bit systems with 64-bit time_t, input_event.time is not directly accessible. Instead, we must use input_event_sec and input_event_usec accessors to set the time values. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> --- contrib/vhost-user-input/main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)