101d9f3fd4
This fixes a bug whereby `read-response' would read more than just the response, with the extra data going into the port's buffer; the "bzip2 -dc" process spawned by `filtered-port' would not see the those buffered data, which are definitely lost, and would bail out with "bzip2: (stdin) is not a bzip2 file." * guix/utils.scm (filtered-port): Document that INPUT must be unbuffered. * guix/web.scm (http-fetch): Add `buffered?' parameter. Call `open-socket-for-uri' explicitly, and call `setvbuf' when BUFFERED? is false. Pass the port to `http-get'. Close it upon 301/302. * guix/scripts/substitute-binary.scm (fetch): Add `buffered?' parameter. Pass it to `http-fetch'; honor it for `file' URIs. (guix-substitute-binary): Call `fetch' with #:buffered? #f for port RAW. * tests/utils.scm ("filtered-port, file"): Open FILE as unbuffered. |
||
---|---|---|
.. | ||
base32.scm | ||
build-utils.scm | ||
builders.scm | ||
derivations.scm | ||
guix-build.sh | ||
guix-daemon.sh | ||
guix-download.sh | ||
guix-gc.sh | ||
guix-hash.sh | ||
guix-package.sh | ||
nar.scm | ||
packages.scm | ||
records.scm | ||
snix.scm | ||
store.scm | ||
test.drv | ||
ui.scm | ||
union.scm | ||
utils.scm |