[erlang-bugs] Copying a file to itself

Jan Henry Nystrom <>
Fri Feb 29 11:00:46 CET 2008

Ulf Wiger (TN/EAB) wrote:
> John Hughes skrev:
>> Calling file:copy(Name,Name) to copy a file to itself truncates the file 
>> to 0 bytes. I’m not sure if this is a bug, but it isn’t what I 
>> expected—even after reading the documentation. 

I am sorry to say that I disagree. The documentation says that it will
open the files with [read, binary] and [write, binary] and the
write will truncate any existing file. So from the documentation
it is fairly clear that it will copy nothing since the file has been
opened with 'write'. If that is the right thing to do is a completely
different kettle of fish and do not personally have any opinions on

But please keep applying QuickCheck on the standard libraries, it throws
all kinds googlies at it :-)

/Cheers Henry

>>Perhaps either file:copy 
>> should return an error in this case, or the documentation should mention 
>> this behaviour explicitly.
> John,
> You need to stop using QuickCheck on well tested libraries! ;-)
> Let us keep *some* of our illusions of quality software.
> Seriously, I'd be happy if file:copy(Name,Name) works just like in Unix, 
> i.e. it doesn't do anything, since the files are identical.
> $> cp Makefile test
> $> ls -l test
> -r--r--r--   1 ....       2676 Feb 29 10:35 test
> $> cp test test
> cp: test and test are identical
> $> ls -l test
> -r--r--r--   1 ....       2676 Feb 29 10:35 test
> BR,
> Ulf W
> _______________________________________________
> erlang-bugs mailing list
> http://www.erlang.org/mailman/listinfo/erlang-bugs

Jan Henry Nystrom <>
Training Manager @ Erlang Training and Consulting Ltd

More information about the erlang-bugs mailing list