The type of `var` is `int **`, and it will work with tsearch() anyway because of implicit cast from `void *`, so declaring it as an `int **` simplifies the code. Signed-off-by: Alejandro Colomar <colomar.6.4.3@xxxxxxxxx> --- man3/tsearch.3 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/man3/tsearch.3 b/man3/tsearch.3 index 32ddb8127..65fcadc52 100644 --- a/man3/tsearch.3 +++ b/man3/tsearch.3 @@ -323,8 +323,7 @@ action(const void *nodep, VISIT which, int depth) int main(void) { - int i, *ptr; - void *val; + int i, *ptr, **val; srand(time(NULL)); for (i = 0; i < 12; i++) { @@ -333,7 +332,7 @@ main(void) val = tsearch((void *) ptr, &root, compare); if (val == NULL) exit(EXIT_FAILURE); - else if ((*(int **) val) != ptr) + else if (*val != ptr) free(ptr); } twalk(root, action); -- 2.28.0