summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fileio.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/fileio.c b/src/fileio.c
index e20249379e7..2c8855dba91 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4255,22 +4255,18 @@ by calling `format-decode', which see. */)
/* Check now whether the buffer will become too large,
in the likely case where the file's length is not changing.
- This saves a lot of needless work before a buffer overflow. */
- if (regular)
+ This saves a lot of needless work before a buffer overflow.
+ If LIKELY_END is nonnegative, it is likely where we will stop reading.
+ We could read more (or less), if the file grows (or shrinks). */
+ off_t likely_end = min (end_offset, file_size_hint);
+ if (beg_offset < likely_end)
{
- /* The likely offset where we will stop reading. We could read
- more (or less), if the file grows (or shrinks) as we read it. */
- off_t likely_end = min (end_offset, file_size_hint);
-
- if (beg_offset < likely_end)
- {
- ptrdiff_t buf_bytes
- = Z_BYTE - (!NILP (replace) ? ZV_BYTE - BEGV_BYTE : 0);
- ptrdiff_t buf_growth_max = BUF_BYTES_MAX - buf_bytes;
- off_t likely_growth = likely_end - beg_offset;
- if (buf_growth_max < likely_growth)
- buffer_overflow ();
- }
+ ptrdiff_t buf_bytes
+ = Z_BYTE - (!NILP (replace) ? ZV_BYTE - BEGV_BYTE : 0);
+ ptrdiff_t buf_growth_max = BUF_BYTES_MAX - buf_bytes;
+ off_t likely_growth = likely_end - beg_offset;
+ if (buf_growth_max < likely_growth)
+ buffer_overflow ();
}
/* Prevent redisplay optimizations. */