diff options
author | obrien <obrien@FreeBSD.org> | 2008-09-03 23:32:54 +0800 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2008-09-03 23:32:54 +0800 |
commit | ce24a641b5d9213cf8076f687dd52cc0a9c28fd3 (patch) | |
tree | 8827b40c742b475a706b3cb966802f9009406386 /ftp | |
parent | de9a1ec50fe01f9dc464f6853f31b7119930b693 (diff) | |
download | freebsd-ports-gnome-ce24a641b5d9213cf8076f687dd52cc0a9c28fd3.tar.gz freebsd-ports-gnome-ce24a641b5d9213cf8076f687dd52cc0a9c28fd3.tar.zst freebsd-ports-gnome-ce24a641b5d9213cf8076f687dd52cc0a9c28fd3.zip |
Somewhere along the way of 8-CURRENT, we seem to have diverged in
functionality from other Unixen (including FreeBSD 7.0):
NcFTP's sio library function, _SConnect, wants to select() for one
descriptor. It creates fd_set structures for writable fds and
exception fds, with each fd set having only one bit set corresponding
to the single descriptor it is selecting. select() then returns 2,
rather than 1. NcFTP was checking if select returned 1, and if so,
OK, if not 1, error. Since 2 was returned, this was causing a problem.
Submitted by: Mike Gleason <mgleason@ncftp.com>
Diffstat (limited to 'ftp')
-rw-r--r-- | ftp/ncftp3/Makefile | 2 | ||||
-rw-r--r-- | ftp/ncftp3/files/patch-SConnect.c | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/ftp/ncftp3/Makefile b/ftp/ncftp3/Makefile index e4f3c6b013c3..265a54cf856e 100644 --- a/ftp/ncftp3/Makefile +++ b/ftp/ncftp3/Makefile @@ -8,7 +8,7 @@ PORTNAME= ncftp PORTVERSION= 3.2.2 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= ftp ipv6 MASTER_SITES= ftp://ftp.ncftp.com/ncftp/ DISTNAME= ncftp-${PORTVERSION}-src diff --git a/ftp/ncftp3/files/patch-SConnect.c b/ftp/ncftp3/files/patch-SConnect.c new file mode 100644 index 000000000000..e3575b8faeef --- /dev/null +++ b/ftp/ncftp3/files/patch-SConnect.c @@ -0,0 +1,11 @@ +--- sio/SConnect.c.orig 2007-10-27 11:14:05.000000000 -0700 ++++ sio/SConnect.c 2008-09-03 08:25:45.000000000 -0700 +@@ -154,7 +154,7 @@ _SConnect(const int sfd, const struct so + tv.tv_sec = (tv_sec_t) tlen; + tv.tv_usec = 0; + result = select(sfd + 1, NULL, SELECT_TYPE_ARG234 &ss, SELECT_TYPE_ARG234 &xx, SELECT_TYPE_ARG5 &tv); +- if (result == 1) { ++ if (result >= 1) { + /* ready */ + break; + } else if (result == 0) { |