~ 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