~ chicken-core (master) cc1b6c8ac840aa809a0022c31e71e4cc3174b142


commit cc1b6c8ac840aa809a0022c31e71e4cc3174b142
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Jul 31 15:14:50 2026 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Fri Jul 31 15:14:50 2026 +0200

    fix returned initial position in EOF/error case when reading line from file

diff --git a/library.scm b/library.scm
index ddd29f0f..28aa5933 100644
--- a/library.scm
+++ b/library.scm
@@ -83,10 +83,10 @@ fast_read_line_from_file(C_word str, C_word start, C_word port, C_word size) {
   if ((c = C_getc(fp)) == EOF) {
     if (ferror(fp)) {
       clearerr(fp);
-      if(p) return p;
+      if(p) return start;
       return C_fix(-1);
     } else { /* feof (fp) */
-      if(p) return p;
+      if(p) return start;
       return C_SCHEME_END_OF_FILE;
     }
   }
Trap