diff options
| author | Michael Forney <mforney@mforney.org> | 2019-06-16 17:19:49 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2019-06-17 00:05:52 -0700 |
| commit | 70e6a1409d8b62415831a344aff20c530e628723 (patch) | |
| tree | a0bd893444557d00cdb28b1d076603517141c619 /pkg/libevdev/patch/0001-Avoid-statement-expressions.patch | |
| parent | 5c83a38b4de256a94cb1941e8ac53d632dddd356 (diff) | |
libevdev: Fix a few portability issues
Diffstat (limited to 'pkg/libevdev/patch/0001-Avoid-statement-expressions.patch')
| -rw-r--r-- | pkg/libevdev/patch/0001-Avoid-statement-expressions.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/pkg/libevdev/patch/0001-Avoid-statement-expressions.patch b/pkg/libevdev/patch/0001-Avoid-statement-expressions.patch new file mode 100644 index 00000000..7e5d8072 --- /dev/null +++ b/pkg/libevdev/patch/0001-Avoid-statement-expressions.patch @@ -0,0 +1,77 @@ +From 2502b02e69ad84e1e8e96fa1683968e72bbd0501 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sun, 16 Jun 2019 17:05:30 -0700 +Subject: [PATCH] Avoid statement expressions + +--- + libevdev/libevdev-int.h | 3 ++- + libevdev/libevdev-util.h | 13 ------------- + libevdev/libevdev.c | 7 ++++++- + 3 files changed, 8 insertions(+), 15 deletions(-) + +diff --git a/libevdev/libevdev-int.h b/libevdev/libevdev-int.h +index e1c7ec5..b92d8d5 100644 +--- a/libevdev/libevdev-int.h ++++ b/libevdev/libevdev-int.h +@@ -198,7 +198,8 @@ queue_shift_multiple(struct libevdev *dev, size_t n, struct input_event *ev) + return 0; + + remaining = dev->queue_next; +- n = min(n, remaining); ++ if (remaining < n) ++ n = remaining; + remaining -= n; + + if (ev) +diff --git a/libevdev/libevdev-util.h b/libevdev/libevdev-util.h +index c6e1197..e8b6769 100644 +--- a/libevdev/libevdev-util.h ++++ b/libevdev/libevdev-util.h +@@ -32,19 +32,6 @@ + #define ARRAY_LENGTH(a) (sizeof(a) / (sizeof((a)[0]))) + #define unlikely(x) (__builtin_expect(!!(x),0)) + +-#undef min +-#undef max +-#define min(a,b) \ +- ({ __typeof__ (a) _a = (a); \ +- __typeof__ (b) _b = (b); \ +- _a > _b ? _b : _a; \ +- }) +-#define max(a,b) \ +- ({ __typeof__ (a) _a = (a); \ +- __typeof__ (b) _b = (b); \ +- _a > _b ? _a : _b; \ +- }) +- + static inline bool + startswith(const char *str, size_t len, const char *prefix, size_t plen) + { +diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c +index c5798b4..e5abe91 100644 +--- a/libevdev/libevdev.c ++++ b/libevdev/libevdev.c +@@ -67,6 +67,7 @@ init_event_queue(struct libevdev *dev) + int nevents = 1; /* terminating SYN_REPORT */ + int nslots; + unsigned int type, code; ++ size_t size; + + /* count the number of axes, keys, etc. to get a better idea at how + many events per EV_SYN we could possibly get. That's the max we +@@ -94,7 +95,11 @@ init_event_queue(struct libevdev *dev) + nevents += num_mt_axes * (nslots - 1); + } + +- return queue_alloc(dev, max(MIN_QUEUE_SIZE, nevents * 2)); ++ size = nevents * 2; ++ if (size < MIN_QUEUE_SIZE) ++ size = MIN_QUEUE_SIZE; ++ ++ return queue_alloc(dev, size); + } + + static void +-- +2.20.1 + |
