This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: DOS shortname and cygwin I/O

On Fri, 22 Nov 2002, Andrew Chang wrote:

> Hello,
> I just noticed that cygwin seems to get confused when we do a
> cd to dos-short-pathname.  It is easy to reproduce:
> a) Install cygwin to c:/Programme/cygwin
> b) make sure you mount / in binary mode
> c) mkdir c:/Programme/cygwin/tst
> c) cd c:/Programme/cygwin/tst
> d) echo "XXX" > file1
> e) od -c file1  # this should show file1 with '\n' line termination
> f) cd c:/Progra~2/cygwin/tst    # C:/Progra~2 is the shortname of c:/Programme
> g) echo "XXX" > file2
> h) od -c file2  #  this should show file2 with a \r\n line termination
> I would expect the "echo" command to behave the same way, regardless of how
> I cd there. Is there a reason for doing otherwise ?
> Thanks
> Andrew Chang

I don't know if it's a bug, but I believe I can explain what's happening:

When a file is opened in Cygwin, and the mode (binary or text) is not
specified, the mount table is consulted, and the first matching entry
determines the type of mount (binary or text), and thus the mode.
If the directory is not found in the mount table, it is assumed to be
mounted through /cygdrive.

What's happening in your case is that Cygwin doesn't match c:/Progra~2
with the c:/Programme in the mount table, and thus assumes that it is a
text mount (because /cygdrive is text).  The fact that you end up in the
same directory is really irrelevant (that's Windows' doing).  Cygwin isn't
aware of DOS short names being equivalent to Windows long names.

So, to answer your question, echo *does* behave the same way - it only
outputs a newline.  Writing the file to disk, however, *does not* behave
the same way, and depends on the type of mount, which, in turn, depends on
which entry in the mount table the directory matches.

Hope this helps,
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]