delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/11/16/05:19:38

From: khan AT xraylith DOT wisc DOT edu (Mumit Khan)
Subject: Re: B20, Win95: cp destroys file
16 Nov 1998 05:19:38 -0800 :
Message-ID: <9811160532.AA24319.cygnus.gnu-win32@modi.xraylith.wisc.edu>
References: <19981116010850 DOT 22769 DOT rocketmail AT send103 DOT yahoomail DOT com>
To: earnie_boyd AT yahoo DOT com
Cc: "Henry S. Warren, Jr." <hank AT watson DOT ibm DOT com>, gnu-win32 AT cygnus DOT com

Earnie Boyd <earnie_boyd AT yahoo DOT com> writes:
> ---"Henry S. Warren, Jr." <hank AT watson DOT ibm DOT com> wrote:
> >
> > If you copy, using cp, a file to itself, and the target and source
> files
> > differ in capitalization, then the content of the file is wiped out;
> it
> > becomes a file of 0-length.  Example: "cp hilbert.c hilbert.C" trashes
> > file hilbert.c.  
> >    The Win95 "copy" command gives the error message "File cannot be
> > copied onto itself" in this situation (much preferable)
> 
> Hmm.  It used to do it that way in b19.  Is it possible that inode or
> stat routine has become buggy?

Are you by any chance doing this on a SMB mounted filesystem? I remember
playing with this a while back, and it worked on FAT and NTFS, but not
on SAMBA disk (didn't try SMB disks from non-SAMBA server, such as NT).

I believe that the problem is in MoveFileEx (WIN API), which doesn't do 
the right thing. However, the rename in MSVC runtime does somehow do
it correctly on all filesystems, so it's doing something more than using
MoveFileEx. (fyi, mv uses the rename runtime routine in winsup that in
turn uses MoveFileEx to do the actual renaming).

Comments from win32 savvy folks?

Regards,
Mumit

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019