--- coreutils-6.7/src/copy.c.bak 2007-03-18 16:30:20.155139000 +0200 +++ coreutils-6.7/src/copy.c 2007-03-18 17:08:22.668899535 +0200 @@ -366,7 +366,7 @@ copy_reg (char const *src_name, char con goto close_src_and_dst_desc; } - if (! (S_ISREG (src_open_sb.st_mode) && src_open_sb.st_size == 0)) + if (1) { typedef uintptr_t word; off_t n_read_total = 0; @@ -500,10 +500,6 @@ copy_reg (char const *src_name, char con goto close_src_and_dst_desc; } last_write_made_hole = false; - - /* A short read on a regular file means EOF. */ - if (n_read != buf_size && S_ISREG (src_open_sb.st_mode)) - break; } }