This silences valgrind errors. Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp> --- include/util.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/util.h b/include/util.h index 8b7634f..1c42ff8 100644 --- a/include/util.h +++ b/include/util.h @@ -102,15 +102,18 @@ int atomic_create_and_write(const char *path, char *buf, size_t len); /* a type safe version of qsort() */ #define xqsort(base, nmemb, compar) \ ({ \ - assert(compar(base, base) == 0); \ - qsort(base, nmemb, sizeof(*(base)), (comparison_fn_t)compar); \ + if (nmemb > 1) { \ + qsort(base, nmemb, sizeof(*(base)), \ + (comparison_fn_t)compar); \ + assert(compar(base, base + 1) <= 0); \ + } \ }) /* a type safe version of bsearch() */ #define xbsearch(key, base, nmemb, compar) \ ({ \ (void) (key == base); \ - assert(compar(base, base) == 0); \ + assert(compar(key, key) == 0); \ bsearch(key, base, nmemb, sizeof(*(base)), (comparison_fn_t)compar); \ }) -- 1.8.1.3.566.gaa39828 |