I wrote my comparison function
int cmp(const int * a,const int * b) { if (*a==*b) return 0; else if (*a < *b) return -1; else return 1; }
According to the man page, a __compar_fn_t is defined as: typedef int(*) __compar_fn_t (const void *, const void *)
__compar_fn_t
typedef int(*) __compar_fn_t (const void *, const void *)
Your cmp specifies int* parameters. It doesn't like that, but is only listed as a warning.
cmp
int*