]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
ptrdiff_t, not ssize_t
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 1 Aug 2024 14:15:01 +0000 (07:15 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 4 Aug 2024 08:41:43 +0000 (01:41 -0700)
* src/buffer.c (bufmap_reset, _flush_write):
Use ptrdiff_t, not ssize_t, to record pointer differences.
POSIX allows systems where size_t is 64 bits but ssize_t is only 32;
Ultrix used to do that, though no current systems do.

src/buffer.c

index 9c36a08979aab5f784fd7688b66e49a2e586264f..267b43eb4cd66a67fdeb18d7850d91465d8b931b 100644 (file)
@@ -195,7 +195,7 @@ bufmap_free (struct bufmap *mark)
 }
 
 static void
-bufmap_reset (struct bufmap *map, ssize_t fixup)
+bufmap_reset (struct bufmap *map, ptrdiff_t fixup)
 {
   bufmap_free (map);
   if (map)
@@ -877,7 +877,7 @@ _flush_write (void)
       if (map)
        {
          size_t delta = status - map->start * BLOCKSIZE;
-         ssize_t diff;
+         ptrdiff_t diff;
          map->nblocks += delta / BLOCKSIZE;
          if (delta > map->sizeleft)
            delta = map->sizeleft;