diff options
Diffstat (limited to 'archive/cpio/patches/2.6-rili-big-files.patch')
-rw-r--r-- | archive/cpio/patches/2.6-rili-big-files.patch | 80 |
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; |