pkubat / rpms / cpio

Forked from rpms/cpio 4 years ago
Clone
64a7883
diff -uprk.orig cpio-2.6.orig/src/copyin.c cpio-2.6/src/copyin.c
64a7883
--- cpio-2.6.orig/src/copyin.c	2004-09-08 11:10:02 +0000
64a7883
+++ cpio-2.6/src/copyin.c	2005-05-04 12:43:42 +0000
64a7883
@@ -176,7 +176,7 @@ list_file(struct new_cpio_header* file_h
64a7883
 #endif
64a7883
       if (crc != file_hdr->c_chksum)
64a7883
 	{
64a7883
-	  error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
9cadd2b
+	  error (0, 0, _("%s: checksum error (0x%x, should be 0x%lx)"),
64a7883
 		 file_hdr->c_name, crc, file_hdr->c_chksum);
64a7883
 	}
64a7883
     }
64a7883
@@ -307,7 +307,6 @@ create_defered_links_to_skipped (struct 
64a7883
   int	ino;
64a7883
   int 	maj;
64a7883
   int   min;
64a7883
-  int 	link_res;
64a7883
   if (file_hdr->c_filesize == 0)
64a7883
     {
64a7883
       /* The file doesn't have any data attached to it so we don't have
64a7883
@@ -541,7 +540,7 @@ copyin_regular_file (struct new_cpio_hea
64a7883
       if (archive_format == arf_crcascii)
64a7883
 	{
64a7883
 	  if (crc != file_hdr->c_chksum)
64a7883
-	    error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
9cadd2b
+	    error (0, 0, _("%s: checksum error (0x%x, should be 0x%lx)"),
64a7883
 		   file_hdr->c_name, crc, file_hdr->c_chksum);
64a7883
 	}
64a7883
       tape_skip_padding (in_file_des, file_hdr->c_filesize);
64a7883
@@ -563,7 +562,7 @@ copyin_regular_file (struct new_cpio_hea
64a7883
   if (archive_format == arf_crcascii)
64a7883
     {
64a7883
       if (crc != file_hdr->c_chksum)
64a7883
-	error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
9cadd2b
+	error (0, 0, _("%s: checksum error (0x%x, should be 0x%lx)"),
64a7883
 	       file_hdr->c_name, crc, file_hdr->c_chksum);
64a7883
     }
64a7883
 
64a7883
@@ -897,7 +896,7 @@ long_format (struct new_cpio_header *fil
64a7883
     }
64a7883
   tbuf[16] = '\0';
64a7883
 
64a7883
-  printf ("%s %3u ", mbuf, file_hdr->c_nlink);
64a7883
+  printf ("%s %3lu ", mbuf, file_hdr->c_nlink);
64a7883
 
64a7883
   if (numeric_uid)
64a7883
     printf ("%-8u %-8u ", (unsigned int) file_hdr->c_uid,
64a7883
@@ -908,7 +907,7 @@ long_format (struct new_cpio_header *fil
64a7883
 
64a7883
   if ((file_hdr->c_mode & CP_IFMT) == CP_IFCHR
64a7883
       || (file_hdr->c_mode & CP_IFMT) == CP_IFBLK)
64a7883
-    printf ("%3u, %3u ", file_hdr->c_rdev_maj,
64a7883
+    printf ("%3lu, %3lu ", file_hdr->c_rdev_maj,
64a7883
 	    file_hdr->c_rdev_min);
64a7883
   else
64a7883
     printf ("%8lu ", file_hdr->c_filesize);
64a7883
@@ -1342,9 +1341,9 @@ void
64a7883
 process_copy_in ()
64a7883
 {
64a7883
   char done = false;		/* True if trailer reached.  */
64a7883
-  FILE *tty_in;			/* Interactive file for rename option.  */
64a7883
-  FILE *tty_out;		/* Interactive file for rename option.  */
64a7883
-  FILE *rename_in;		/* Batch file for rename option.  */
64a7883
+  FILE *tty_in = NULL;		/* Interactive file for rename option.  */
64a7883
+  FILE *tty_out = NULL;		/* Interactive file for rename option.  */
64a7883
+  FILE *rename_in = NULL;	/* Batch file for rename option.  */
64a7883
   struct stat file_stat;	/* Output file stat record.  */
64a7883
   struct new_cpio_header file_hdr;	/* Output header information.  */
64a7883
   int in_file_des;		/* Input file descriptor.  */
64a7883
@@ -1530,7 +1529,7 @@ process_copy_in ()
64a7883
 	    tape_skip_padding (in_file_des, file_hdr.c_filesize);
64a7883
 	    if (crc != file_hdr.c_chksum)
64a7883
 	      {
64a7883
-		error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
9cadd2b
+		error (0, 0, _("%s: checksum error (0x%x, should be 0x%lx)"),
64a7883
 		       file_hdr.c_name, crc, file_hdr.c_chksum);
64a7883
 	      }
64a7883
          /* Debian hack: -v and -V now work with --only-verify-crc.
64a7883
diff -uprk.orig cpio-2.6.orig/src/copyout.c cpio-2.6/src/copyout.c
64a7883
--- cpio-2.6.orig/src/copyout.c	2004-10-14 09:14:03 +0000
64a7883
+++ cpio-2.6/src/copyout.c	2005-05-04 12:41:08 +0000
64a7883
@@ -346,7 +346,7 @@ write_out_header (struct new_cpio_header
64a7883
 #endif
64a7883
 		file_hdr->c_filesize = makedev (file_hdr->c_rdev_maj,
64a7883
 						file_hdr->c_rdev_min);
64a7883
-		rdev = 1;
64a7883
+		dev = rdev = 1;
64a7883
 		break;
64a7883
 	      default:
64a7883
 		dev = makedev (file_hdr->c_dev_maj, file_hdr->c_dev_min);
64a7883
diff -uprk.orig cpio-2.6.orig/src/tar.c cpio-2.6/src/tar.c
64a7883
--- cpio-2.6.orig/src/tar.c	2004-10-14 09:33:41 +0000
64a7883
+++ cpio-2.6/src/tar.c	2005-05-04 12:41:47 +0000
64a7883
@@ -473,7 +473,6 @@ is_tar_filename_too_long (char *name)
64a7883
 {
64a7883
   int whole_name_len;
64a7883
   int prefix_name_len;
64a7883
-  char *p;
64a7883
 
64a7883
   whole_name_len = strlen (name);
64a7883
   if (whole_name_len <= TARNAMESIZE)
64a7883
diff -uprk.orig cpio-2.6.orig/src/util.c cpio-2.6/src/util.c
64a7883
--- cpio-2.6.orig/src/util.c	2004-09-08 10:44:49 +0000
64a7883
+++ cpio-2.6/src/util.c	2005-05-04 13:13:24 +0000
64a7883
@@ -24,6 +24,8 @@
64a7883
 #include "dstring.h"
64a7883
 #include "extern.h"
64a7883
 #include <rmt.h>
64a7883
+#include <safe-read.h>
64a7883
+#include <full-write.h>
64a7883
 
64a7883
 #include <sys/ioctl.h>
64a7883
 
64a7883
@@ -38,6 +40,8 @@
64a7883
 extern int errno;
64a7883
 #endif
64a7883
 
64a7883
+int sparse_write (int fildes, char *buf, unsigned int nbyte);
64a7883
+
64a7883
 /* Write `output_size' bytes of `output_buffer' to file
64a7883
    descriptor OUT_DES and reset `output_size' and `out_buff'.  */
64a7883
 
64a7883
@@ -471,9 +475,9 @@ copy_files_disk_to_tape (int in_des, int
64a7883
   while (num_bytes > 0)
64a7883
     {
64a7883
       if (input_size == 0)
64a7883
-	if (rc = disk_fill_input_buffer (in_des,
64a7883
+	if ((rc = disk_fill_input_buffer (in_des,
64a7883
 	  num_bytes < DISK_IO_BLOCK_SIZE ?
64a7883
-	  num_bytes : DISK_IO_BLOCK_SIZE))
64a7883
+	  num_bytes : DISK_IO_BLOCK_SIZE)))
64a7883
 	  {
64a7883
 	    if (rc > 0)
64a7883
 	      error (0, 0, _("File %s shrunk by %ld bytes, padding with zeros"),
64a7883
@@ -517,7 +521,7 @@ copy_files_disk_to_disk (int in_des, int
64a7883
   while (num_bytes > 0)
64a7883
     {
64a7883
       if (input_size == 0)
64a7883
-	if (rc = disk_fill_input_buffer (in_des, num_bytes))
64a7883
+	if ((rc = disk_fill_input_buffer (in_des, num_bytes)))
64a7883
 	  {
64a7883
 	    if (rc > 0)
64a7883
 	      error (0, 0, _("File %s shrunk by %ld bytes, padding with zeros"),
64a7883
@@ -1157,8 +1161,8 @@ sparse_write (int fildes, char *buf, uns
64a7883
   int complete_block_count;
64a7883
   int leftover_bytes_count;
64a7883
   int seek_count;
64a7883
-  int write_count;
64a7883
-  char *cur_write_start;
64a7883
+  int write_count = 0;
64a7883
+  char *cur_write_start = buf;
64a7883
   int lseek_rc;
64a7883
   int write_rc;
64a7883
   int i;