Partially revert r9636. It is true that we can directly return the

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.

[originally from svn r9637]
[r9636 == 538090ede4]
This commit is contained in:
Simon Tatham 2012-08-28 17:41:10 +00:00
Родитель 538090ede4
Коммит 03ebc74b9f
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

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