1 --- ggaoed-1.1/netlink.c.orig 2011-06-20 19:57:17.000000000 +0200
2 +++ ggaoed-1.1/netlink.c 2011-06-20 20:27:47.426951722 +0200
6 addrlen = sizeof(from_addr);
7 - len = recvfrom(nl_fd, recvbuf, recvlen, MSG_TRUNC | MSG_DONTWAIT,
8 + len = recvfrom(nl_fd, recvbuf, recvlen, MSG_TRUNC | MSG_DONTWAIT | MSG_PEEK,
9 (struct sockaddr *)&from_addr, &addrlen);
16 - /* The buffer was too small. Increase it and request a
17 - * new enumeration */
19 + /* The buffer was too small. Increase it and try again... */
21 recvbuf = g_realloc(recvbuf, recvlen);
25 + len = recvfrom(nl_fd, recvbuf, recvlen, MSG_TRUNC | MSG_DONTWAIT,
26 + (struct sockaddr *)&from_addr, &addrlen);
28 for (msg = (struct nlmsghdr *)recvbuf; NLMSG_OK(msg, (unsigned)len);
29 msg = NLMSG_NEXT(msg, len))