diff --git a/pkgs/racket-pkgs/racket-test/tests/file/unzip.rkt b/pkgs/racket-pkgs/racket-test/tests/file/unzip.rkt index 0b8325dd76..7cfeddc775 100644 --- a/pkgs/racket-pkgs/racket-test/tests/file/unzip.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/file/unzip.rkt @@ -1,6 +1,7 @@ #lang racket/base (require file/unzip racket/runtime-path + racket/port tests/eli-tester) (define-runtime-path unzip-me.zip "unzip-me.zip") @@ -24,6 +25,8 @@ (define (run-tests) (test-with-unzip unzip-me.zip) (call-with-input-file* unzip-me.zip test-with-unzip) + (call-with-input-file* unzip-me.zip + (lambda(in_port) (test-with-unzip (input-port-append #f in_port)))) (test-with-unzip-entry)) (provide tests) diff --git a/racket/collects/file/unzip.rkt b/racket/collects/file/unzip.rkt index 09f7ce1bf4..7bca18338e 100644 --- a/racket/collects/file/unzip.rkt +++ b/racket/collects/file/unzip.rkt @@ -217,7 +217,7 @@ ;; is immediately followed by a data descriptor (if (bitwise-bit-set? bits 3) (skip-bytes 12 in) - (file-position in (+ mark compressed)))))) + (skip-bytes (- (+ mark compressed) (file-position in)) in))))) (void)))) ;; find-central-directory : input-port nat -> nat nat nat