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: Valid file-name characters


Comments below.

RC> I was just about to suggest that whatever character is used is used as
RC> an escape char rather than a literal replacement.

'aux%c' ->> 'aux:'
'aux%%' ->> 'aux%'

which means that

touch $s
notepad $s

won't work.

RC> Unless cygwin detects that notepad is a non cygwin program, and therefor
RC> needs the on-disk name.

Even if cygwin knows that notepad is native program it can't tell for
sure if a%% is name of disk file. It may be a name of my dog to be
told from my computer speakers, for instance. An he surely won't like
if i misspell his name ;-)

RC> With 'aux%' ->> 'aux:'

RC> s='aux:'
RC> touch $s
RC> notepad $s

RC> won't work either - unless cygwin detects that notepad...

That's exactly my point. Having some fancy rules for filename encoding
breaks interoperability with native tools. Escaping non-valid
characters like ':' is not big problem, since native tools can't use
such names anyway. But messing with valid characters like '%' is far
more dangerous and error-prone.

Yes, but what about using %CYGWINREPLACESEQUENCE_FOR_COLON% instead of ':' ?
Then touch "aux:" would generate aux: for cygwin programs and native
windows programs would see: aux%CYGWINREPLACESEQUENCE_FOR_COLON% as a filename.

The propability that someone wanted to generate a windows filename with a name
similar to a cygwin created special name is much less when we use many characters
to escape the single character ':' . For windows programs the user could
use something like:
$ s='aux:'
$ touch $s
$ notepad `cygpath -w $s`

Thanks Egor.  That's precisely why I have always avoided this kind
of filename munging in Cygwin.

Yes, but it would be very nice to have this functionality.



Unsubscribe info:
Bug reporting:

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