From 2bd2273e7b54afb820a5897f3c1f368a64dfca97 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Tue, 31 Jul 2001 14:40:50 +0000 Subject: [PATCH] (Finsert_file_contents): Don't treat a return value of 0 from emacs_read as an IO error. --- src/fileio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fileio.c b/src/fileio.c index e09fac7e79b..a8edc2f75b7 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -3863,14 +3863,18 @@ actually used.") while (total_read < trial) { nread = emacs_read (fd, buffer + total_read, trial - total_read); - if (nread <= 0) + if (nread < 0) error ("IO error reading %s: %s", XSTRING (orig_filename)->data, emacs_strerror (errno)); + else if (nread == 0) + break; total_read += nread; } + /* Scan this bufferful from the end, comparing with the Emacs buffer. */ bufpos = total_read; + /* Compare with same_at_start to avoid counting some buffer text as matching both at the file's beginning and at the end. */ while (bufpos > 0 && same_at_end > same_at_start -- 2.39.2