diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2097a42c6..d5594b77e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-11-07 Gilles Courcoux <Gilles.Courcoux@col.bsf.alcatel.fr> + + * fhandler_socket.cc (fhandler_socket::ioctl): Return correct flags + for loopback interface when name is given on input instead of address. + 2002-11-07 Jason Tishler <jason@tishler.net> * cygwin.din: Export fseeko() and ftello(). diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index f2970ac46..7a4465f26 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -1111,7 +1111,8 @@ fhandler_socket::ioctl (unsigned int cmd, void *p) return -1; } ifr->ifr_flags = IFF_NOTRAILERS | IFF_UP | IFF_RUNNING; - if (ntohl (((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr) + if (!strncmp(ifr->ifr_name, "lo", 2) + || ntohl (((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr) == INADDR_LOOPBACK) ifr->ifr_flags |= IFF_LOOPBACK; else |