File netkit-routed-0.17-aliasing.patch of Package routed
--- ripquery/query.c
+++ ripquery/query.c
@@ -59,6 +59,7 @@
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
+#include <sys/select.h>
#define WTIME 5 /* Time to wait for all responses */
#define STIME 500000 /* usec to wait for another response */
@@ -74,12 +75,13 @@
int main(int argc, char *argv[])
{
- int ch, cc, count=0, bits;
+ int ch, cc, count=0;
struct sockaddr from;
struct sigaction sigact;
socklen_t fromlen = sizeof(from);
int size = 32*1024;
struct timeval shorttime;
+ fd_set bits;
while ((ch = getopt(argc, argv, "n")) != EOF)
switch (ch) {
@@ -114,7 +116,8 @@
* Listen for returning packets;
* may be more than one packet per host.
*/
- bits = 1 << s;
+ FD_ZERO(&bits);
+ FD_SET(s, &bits);
memset(&shorttime, 0, sizeof(shorttime));
shorttime.tv_usec = STIME;
memset(&sigact, 0, sizeof(sigact));
@@ -124,7 +127,7 @@
perror("sigaction");
alarm(WTIME);
while ((count > 0 && !timedout) ||
- select(20, (fd_set *)&bits, NULL, NULL, &shorttime) > 0) {
+ select(20, &bits, NULL, NULL, &shorttime) > 0) {
cc = recvfrom(s, packet, sizeof (packet), 0,
&from, &fromlen);
if (cc <= 0) {