From: Heng Li Date: Fri, 20 Apr 2018 12:09:28 +0000 (-0400) Subject: use more robust comparison in examples X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=e004dd2f1c2455cbd41b9b7ea317c76e6731f995;p=klib.git use more robust comparison in examples --- diff --git a/kavl.h b/kavl.h index ee6c105..1041b86 100644 --- a/kavl.h +++ b/kavl.h @@ -34,7 +34,7 @@ struct my_node { char key; KAVL_HEAD(struct my_node) head; }; -#define my_cmp(p, q) ((p)->key - (q)->key) +#define my_cmp(p, q) (((q)->key < (p)->key) - ((p)->key < (q)->key)) KAVL_INIT(my, struct my_node, head, my_cmp) int main(void) { diff --git a/test/kavl_test.c b/test/kavl_test.c index 74123ce..e0a8221 100644 --- a/test/kavl_test.c +++ b/test/kavl_test.c @@ -11,7 +11,7 @@ struct my_node { KAVL_HEAD(struct my_node) head; }; -#define my_cmp(p, q) ((p)->key - (q)->key) +#define my_cmp(p, q) (((p)->key > (q)->key) - ((p)->key < (q)->key)) KAVL_INIT(my, struct my_node, head, my_cmp) int check(struct my_node *p, int *hh)