summaryrefslogtreecommitdiffstats
path: root/archive/cpio/patches/2.6-rili-big-files.patch
diff options
context:
space:
mode:
Diffstat (limited to 'archive/cpio/patches/2.6-rili-big-files.patch')
-rw-r--r--archive/cpio/patches/2.6-rili-big-files.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/archive/cpio/patches/2.6-rili-big-files.patch b/archive/cpio/patches/2.6-rili-big-files.patch
new file mode 100644
index 0000000000..281e8e886c
--- /dev/null
+++ b/archive/cpio/patches/2.6-rili-big-files.patch
@@ -0,0 +1,80 @@
+cpio normally can't cope with huge files on 32bit systems (2gig),
+so why don't we fix that eh ?
+http://bugs.gentoo.org/show_bug.cgi?id=68520
+
+Index: src/extern.h
+===================================================================
+RCS file: /cvsroot/cpio/cpio/src/extern.h,v
+retrieving revision 1.3
+diff -u -r1.3 extern.h
+--- src/extern.h 8 Sep 2004 11:41:40 -0000 1.3
++++ src/extern.h 17 Dec 2004 19:34:41 -0000
+@@ -165,9 +165,9 @@
+ void tape_buffered_read P_((char *in_buf, int in_des, long num_bytes));
+ int tape_buffered_peek P_((char *peek_buf, int in_des, int num_bytes));
+ void tape_toss_input P_((int in_des, long num_bytes));
+-void copy_files_tape_to_disk P_((int in_des, int out_des, long num_bytes));
+-void copy_files_disk_to_tape P_((int in_des, int out_des, long num_bytes, char *filename));
+-void copy_files_disk_to_disk P_((int in_des, int out_des, long num_bytes, char *filename));
++void copy_files_tape_to_disk P_((int in_des, int out_des, off_t num_bytes));
++void copy_files_disk_to_tape P_((int in_des, int out_des, off_t num_bytes, char *filename));
++void copy_files_disk_to_disk P_((int in_des, int out_des, off_t num_bytes, char *filename));
+ void warn_if_file_changed P_((char *file_name, unsigned long old_file_size,
+ unsigned long old_file_mtime));
+ void create_all_directories P_((char *name));
+Index: src/util.c
+===================================================================
+RCS file: /cvsroot/cpio/cpio/src/util.c,v
+retrieving revision 1.6
+diff -u -r1.6 util.c
+--- src/util.c 8 Sep 2004 11:45:38 -0000 1.6
++++ src/util.c 17 Dec 2004 19:34:42 -0000
+@@ -428,10 +428,10 @@
+ NUM_BYTES is the number of bytes to copy. */
+
+ void
+-copy_files_tape_to_disk (int in_des, int out_des, long num_bytes)
++copy_files_tape_to_disk (int in_des, int out_des, off_t num_bytes)
+ {
+- long size;
+- long k;
++ off_t size;
++ off_t k;
+
+ while (num_bytes > 0)
+ {
+@@ -458,13 +458,13 @@
+ NUM_BYTES is the number of bytes to copy. */
+
+ void
+-copy_files_disk_to_tape (int in_des, int out_des, long num_bytes,
++copy_files_disk_to_tape (int in_des, int out_des, off_t num_bytes,
+ char *filename)
+ {
+- long size;
+- long k;
++ off_t size;
++ off_t k;
+ int rc;
+- long original_num_bytes;
++ off_t original_num_bytes;
+
+ original_num_bytes = num_bytes;
+
+@@ -505,12 +505,12 @@
+ NUM_BYTES is the number of bytes to copy. */
+
+ void
+-copy_files_disk_to_disk (int in_des, int out_des, long num_bytes,
++copy_files_disk_to_disk (int in_des, int out_des, off_t num_bytes,
+ char *filename)
+ {
+- long size;
+- long k;
+- long original_num_bytes;
++ off_t size;
++ off_t k;
++ off_t original_num_bytes;
+ int rc;
+
+ original_num_bytes = num_bytes;