I was looking at ping/ping.c and noticed what might be an issue with the socket_type variable. Both the -r and -d option set socket_type directly rather than perform an |= like is done with the option variable. The result would seem to be that the -r and -d option are mutually exclusive when they don't need to be.
Would you like to send a patch to fix this issue?
