]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix minor ssize_t / ptrdiff_t confusion
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 7 Jun 2019 23:39:22 +0000 (16:39 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 7 Jun 2019 23:48:56 +0000 (16:48 -0700)
* src/fileio.c (Fcopy_file): This limit is because of ssize_t,
so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.

src/fileio.c

index f7376ce74fe93a879789da81f214c005558099f7..b141f568d70fd86e49afca375ae45959eec2cd32 100644 (file)
@@ -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);