--- /dev/null
+--- cpio-2.6/src/util.c.orig 2004-09-08 12:44:49.000000000 +0200
++++ cpio-2.6/src/util.c 2005-01-09 02:32:52.642458816 +0100
+@@ -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;
+--- cpio-2.6/src/extern.h.lfs 2004-10-14 16:18:34.000000000 -0500
++++ cpio-2.6/src/extern.h 2004-10-14 16:20:43.000000000 -0500
+@@ -164,9 +164,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));