[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: [ID 20000114.001] Perl rename function can delete files
On Tue, 18 Jan 2000 11:17:28 +0100, Dominic Dunlop <domo@computer.org>
wrote:
>At 13:30 -0500 2000-01-14, Moss, Jeff wrote:
>>There is a problem with the "rename" function in the latest builds
>>of ActiveState Perl, dating at least back to build 515. The system
>>I'm running is WinNT 4.0 on Intel with Perl 5.005_03 build 521.
>>
>>If you use "rename" to change the case of a file name on a network
>>volume the file just gets deleted.
>
>Ouch! That's serious. I don't run perl on Win* systems myself. Can
>someone else on the list confirm this behaviour with stable and
>development perls?
It is a bug in the underlying Win32 API call:
http://support.microsoft.com/support/kb/articles/q193/0/70.asp
>>I will be happy to add code to only use this flag when renaming across
>>volumes if you can tell me where to send it.
>
>As a reply to this mail. That'll make it hit the perl5-porters list
>and flag it as related to the initial bug report. If you can format
>your changes as a UNIX-style patch, so much the better. But, if you
>can't, send whole modified files either as attachments or (if you
>only touch one file) in the body of the mail.
I haven't seen any patch yet.
I'll add code to check for caseinsensitive equality and do the temporary
filename workaround if no one else proposes a better solution. This will
not cover all cases though: If someone uses an UNC file name on one side
and a path relative to a mapped drive letter on the other side then the
equality cannot be detected. But I guess the simple check will catch over
90% of the actual cases.
-Jan
- References to:
-
"Moss, Jeff" <jmoss@huffmancorp.com>
Dominic Dunlop <domo@computer.org>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]