Partially revert r9636. It is true that we can directly return the
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 28 Aug 2012 17:41:10 +0000 (17:41 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 28 Aug 2012 17:41:10 +0000 (17:41 +0000)
result of memcmp, but untrue that we can do so _unconditionally_: if
memcmp returns zero, we still need to fall through to the next
comparison.

git-svn-id: svn://svn.tartarus.org/sgt/putty@9637 cda61777-01e9-0310-a592-d414129be87e

timing.c

index 9c2a878..ffea4e1 100644 (file)
--- a/timing.c
+++ b/timing.c
@@ -62,7 +62,11 @@ static int compare_timers(void *av, void *bv)
      */
 #if defined(__LCC__) || defined(__clang__)
     /* lcc won't let us compare function pointers. Legal, but annoying. */
-    return memcmp(&a->fn, &b->fn, sizeof(a->fn));
+    {
+       int c = memcmp(&a->fn, &b->fn, sizeof(a->fn));
+       if (c)
+           return c;
+    }
 #else    
     if (a->fn < b->fn)
        return -1;