diff --git a/libevdev/libevdev-int.h b/libevdev/libevdev-int.h index 7b28884..492608a 100644 --- a/libevdev/libevdev-int.h +++ b/libevdev/libevdev-int.h @@ -168,6 +168,14 @@ queue_alloc(struct libevdev *dev, int size) return 0; } +static inline void +queue_free(struct libevdev *dev) +{ + free(dev->queue); + dev->queue_size = 0; + dev->queue_next = 0; +} + static inline int queue_num_elements(struct libevdev *dev) { diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index 7a10792..81bee60 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -165,6 +165,7 @@ libevdev_new(int fd) void libevdev_free(struct libevdev *dev) { + queue_free(dev); free(dev); }