Quellcode durchsuchen

Fix large file support.

* scripts/xsparse.c (read_map): Use fseeko.
* src/incremen.c (write_directory_file): Likewise.
Eric Blake vor 15 Jahren
Ursprung
Commit
a0fd0d95e2
2 geänderte Dateien mit 4 neuen und 3 gelöschten Zeilen
  1. 3 2
      scripts/xsparse.c
  2. 1 1
      src/incremen.c

+ 3 - 2
scripts/xsparse.c

@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdarg.h>
+#include <string.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/stat.h>
@@ -279,8 +280,8 @@ read_map (FILE *ifp)
       sparse_map[i].numbytes = string_to_size (nbuf, NULL);
     }
 
-  fseek (ifp, ((ftell (ifp) + BLOCKSIZE - 1) / BLOCKSIZE) * BLOCKSIZE,
-	 SEEK_SET);
+  fseeko (ifp, ((ftell (ifp) + BLOCKSIZE - 1) / BLOCKSIZE) * BLOCKSIZE,
+	  SEEK_SET);
 }  
 
 void

+ 1 - 1
src/incremen.c

@@ -1410,7 +1410,7 @@ write_directory_file (void)
   if (! fp)
     return;
 
-  if (fseek (fp, 0L, SEEK_SET) != 0)
+  if (fseeko (fp, 0L, SEEK_SET) != 0)
     seek_error (listed_incremental_option);
   if (sys_truncate (fileno (fp)) != 0)
     truncate_error (listed_incremental_option);