freeradius-server-2.1.10 compiles on HP-UX 11.31 with errors.
Alan DeKok
aland at deployingradius.com
Tue Nov 23 16:53:38 CET 2010
Jeffrey Hutzelman wrote:
> You should be -- if the compiler accepts it at all, it changes the
> semantics. Casting void * to int is not strictly legal and won't work
> on platforms where void * is larger than int. That said, the existing
> code is not that great, either -- ptrdiff_t is not guaranteed to fit in
> an int; in fact, I just found a bug last night in another piece of
> software caused by ptrdiff_t being long.
Hmmm... ugh.
> Of course, the OP hasn't reported what the original error was, so I
> can't really suggest a better fix, but I'll bet it involves changing the
> return type of eap_handler_ptr_cmp().
Or:
if (a < b) return -1;
if (a > b) return +1;
return 0;
The values don't matter, only the sign, and the fact that the
calculation is transitive across more than 2 pointers.
Alan DeKok.
More information about the Freeradius-Devel
mailing list