Michael Gmelin <free...@grem.de> writes: > His web server reports a content length of 2696186, but only provides > 2696168 bytes of data. Tools like wget and curl just stop downloading > data, while fetch hangs waiting for those 18 extra bytes.
Actually, the file *is* 2696168 bytes long. With the following patch, fetch(1) will still hang getting the last 1018 bytes, but the file will be complete and the download will be successful. Index: lib/libfetch/common.c =================================================================== --- lib/libfetch/common.c (revision 260631) +++ lib/libfetch/common.c (working copy) @@ -1036,6 +1036,13 @@ if (fetchTimeout > 0) { gettimeofday(&now, NULL); if (!timercmp(&timeout, &now, >)) { + /* + * Return a short read instead of + * a timeout if we have anything + * at all. + */ + if (total > 0) + return (total); errno = ETIMEDOUT; fetch_syserr(); return (-1); DES -- Dag-Erling Smørgrav - d...@des.no _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"