From 7cd7de02fab619939e6665c251b246615ecce96e Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 27 Aug 2012 23:16:49 +0000 Subject: [PATCH] Clang, like LCC, objects to using '<' and '>' on function pointers. I'm not entirely sure that using memcmp() is any more defined by the C standard, but at least Clang doesn't complain about it. While I'm here, tree234 doesn't require that comparison functions return precisely +1 or -1, so we can use the return value of memcmp() directly. git-svn-id: svn://svn.tartarus.org/sgt/putty@9636 cda61777-01e9-0310-a592-d414129be87e --- timing.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/timing.c b/timing.c index 841d973b..9c2a8787 100644 --- a/timing.c +++ b/timing.c @@ -60,15 +60,9 @@ static int compare_timers(void *av, void *bv) * Failing that, compare on the other two fields, just so that * we don't get unwanted equality. */ -#ifdef __LCC__ +#if defined(__LCC__) || defined(__clang__) /* lcc won't let us compare function pointers. Legal, but annoying. */ - { - int c = memcmp(&a->fn, &b->fn, sizeof(a->fn)); - if (c < 0) - return -1; - else if (c > 0) - return +1; - } + return memcmp(&a->fn, &b->fn, sizeof(a->fn)); #else if (a->fn < b->fn) return -1; -- 2.11.0