summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-06-07 16:39:22 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-06-07 16:48:56 -0700
commit8553af84db8b25918da8f5138dcc34601e3df47e (patch)
tree4e28cf36a5f89096464b4e7bbd1b8721ce323416
parentde46a6a4484750b96d6bf43c618029fa70db6080 (diff)
downloademacs-8553af84db8b25918da8f5138dcc34601e3df47e.tar.gz
Fix minor ssize_t / ptrdiff_t confusion
* src/fileio.c (Fcopy_file): This limit is because of ssize_t, so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.
-rw-r--r--src/fileio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fileio.c b/src/fileio.c
index f7376ce74fe..b141f568d70 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2125,7 +2125,8 @@ permissions. */)
/* Copy at most COPY_MAX bytes at a time; this is min
(PTRDIFF_MAX, SIZE_MAX) truncated to a value that is
surely aligned well. */
- ptrdiff_t copy_max = min (PTRDIFF_MAX, SIZE_MAX) >> 30 << 30;
+ ssize_t ssize_max = TYPE_MAXIMUM (ssize_t);
+ ptrdiff_t copy_max = min (ssize_max, SIZE_MAX) >> 30 << 30;
off_t intail = insize - newsize;
ptrdiff_t len = min (intail, copy_max);
copied = copy_file_range (ifd, NULL, ofd, NULL, len, 0);