X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Fnfsclient-bcast.c;h=62ea6549d29ba295003feeb82932565545c0aa44;hb=2384420387a7c6c2aaa983c48e98d4ab788ce65f;hp=89434d5561bc303699f0bbb7b9f05e93a74d664d;hpb=1be803ce7f74e7b57d873e7ea718fd00aaee8f7e;p=deb_libnfs.git diff --git a/examples/nfsclient-bcast.c b/examples/nfsclient-bcast.c index 89434d5..62ea654 100644 --- a/examples/nfsclient-bcast.c +++ b/examples/nfsclient-bcast.c @@ -17,18 +17,48 @@ /* Example program using the lowlevel raw broadcast interface. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif -#include +#ifdef WIN32 +#include "win32_compat.h" +#endif + +#ifdef HAVE_POLL_H +#include +#endif + +#ifdef HAVE_UNISTD_H #include +#endif + +#include #include #include -#include #include -#include -#include + +#ifdef HAVE_SYS_TIME_H #include +#endif + +#ifdef HAVE_NET_IF_H #include +#endif + +#ifdef HAVE_NETDB_H #include +#endif + +#ifdef HAVE_SYS_IOCTL_H +#include +#endif + +#ifdef HAVE_SYS_SOCKET_H +#include +#endif + +#include "libnfs-zdr.h" #include "libnfs.h" #include "libnfs-raw.h" #include "libnfs-private.h" @@ -127,7 +157,7 @@ int main(int argc _U_, char *argv[] _U_) ifc.ifc_buf = NULL; ifc.ifc_len = size; - while (ifc.ifc_len == size) { + while(ifc.ifc_len > (size - sizeof(struct ifreq))) { size *= 2; free(ifc.ifc_buf); @@ -145,7 +175,7 @@ int main(int argc _U_, char *argv[] _U_) char bcdd[16]; ifr = (struct ifreq *)ptr; -#if HAVE_SOCKADDR_LEN +#ifdef HAVE_SOCKADDR_LEN if (ifr->ifr_addr.sa_len > sizeof(struct sockaddr)) { ptr += sizeof(ifr->ifr_name) + ifr->ifr_addr.sa_len; } else {