summaryrefslogtreecommitdiff
path: root/pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-06-24 22:51:01 -0700
committerMichael Forney <mforney@mforney.org>2019-06-25 00:16:03 -0700
commit770b756d6ee4e984e0b62b4f02a105131fbf5a1f (patch)
treed064a6b69f8c565ef359154e665955fe651aba82 /pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch
parent991c95f4d95555a815f5434fbe350303519f5c3e (diff)
util-linux: Some more portability fixes
Diffstat (limited to 'pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch')
-rw-r--r--pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch b/pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch
new file mode 100644
index 00000000..43df34d6
--- /dev/null
+++ b/pkg/util-linux/patch/0010-Use-static-inline-function-for-cmp_numbers.patch
@@ -0,0 +1,37 @@
+From 324b036444402fd2f008c1bfe979ea4281827313 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Tue, 25 Jun 2019 00:13:43 -0700
+Subject: [PATCH] Use static inline function for cmp_numbers
+
+All callers use it with an unsigned type, so just specialize for
+uintmax_t.
+---
+ include/c.h | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/include/c.h b/include/c.h
+index 0b96ff1c0..9787ec341 100644
+--- a/include/c.h
++++ b/include/c.h
+@@ -136,13 +136,11 @@ umin(uintmax_t x, uintmax_t y)
+ return x < y ? x : y;
+ }
+
+-#ifndef cmp_numbers
+-# define cmp_numbers(x, y) __extension__ ({ \
+- __typeof__(x) _a = (x); \
+- __typeof__(y) _b = (y); \
+- (void) (&_a == &_b); \
+- _a == _b ? 0 : _a > _b ? 1 : -1; })
+-#endif
++static inline uintmax_t
++cmp_numbers(uintmax_t x, uintmax_t y)
++{
++ return x == y ? 0 : x > y ? 1 : -1;
++}
+
+ #ifndef offsetof
+ #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+--
+2.22.0
+