summaryrefslogtreecommitdiff
path: root/pkg/libevdev/patch/0001-Avoid-statement-expressions.patch
blob: 24a79b1dfcd26c30ffa47937d6927b4f2aed28e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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
Upstream: https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/11

---
 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