>From ac00085ee814f026d39e2ee6bb9078228edfc1d5 Mon Sep 17 00:00:00 2001 From: Kooda Date: Mon, 1 Apr 2019 10:52:54 +0200 Subject: [PATCH] Reset port EOF flag when seeking --- posix-common.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/posix-common.scm b/posix-common.scm index bfd77941..73e14841 100644 --- a/posix-common.scm +++ b/posix-common.scm @@ -357,8 +357,10 @@ EOF (##sys#check-fixnum pos 'set-file-position!) (##sys#check-fixnum whence 'set-file-position!) (unless (cond ((port? port) - (and (eq? (##sys#slot port 7) 'stream) - (##core#inline "C_fseek" port pos whence) ) ) + (and-let* ((stream (eq? (##sys#slot port 7) 'stream)) + (res (##core#inline "C_fseek" port pos whence))) + (##sys#setislot port 6 #f) ;; Reset EOF status + res)) ((fixnum? port) (##core#inline "C_lseek" port pos whence)) (else -- 2.20.1