As usual, the latest version of tcpdump is available at . The number of Class C networks is 2,097,152 not 2,097,252.
Every implementation seems to return a different value when fputs returns successfully.
The original version works fine for BSD systems and Windows but Linux and Solaris return non-zero values on success. The official specification says only that fputs returns a non-negative number on success and EOF on failure. Then when the callback returned, the next structure would be removed or a segment violation would occur if there were no further active timers. The icmp program, as written, does not work correctly on Windows machines. The following patch improves things, but I still had problems under Win98.