diff --git a/pkgs/racket-test-core/tests/racket/file.rktl b/pkgs/racket-test-core/tests/racket/file.rktl index 9ef5b34a19..0226e35c37 100644 --- a/pkgs/racket-test-core/tests/racket/file.rktl +++ b/pkgs/racket-test-core/tests/racket/file.rktl @@ -454,7 +454,9 @@ (close-output-port o)) (test 900 file-size tempfilename) (let ([o (open-output-file tempfilename #:exists 'update)]) + (file-position o 10) (file-truncate o 399) + (test 10 file-position o) (close-output-port o)) (test 399 file-size tempfilename) diff --git a/racket/src/rktio/rktio_file.c b/racket/src/rktio/rktio_file.c index 35da8ac260..b7bd01dff4 100644 --- a/racket/src/rktio/rktio_file.c +++ b/racket/src/rktio/rktio_file.c @@ -360,7 +360,7 @@ rktio_ok_t rktio_set_file_size(rktio_t *rktio, rktio_fd_t *rfd, rktio_filesize_t } else { if (SetEndOfFile((HANDLE)fd)) { /* we assume that this works: */ - (void)SetFilePointer((HANDLE)fd, lo_w, &hi_w, FILE_BEGIN); + (void)SetFilePointer((HANDLE)fd, old_lo_w, &old_hi_w, FILE_BEGIN); return 1; } get_windows_error();