This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Valid file-name characters
egor duda wrote:
Hi!
Monday, 22 July, 2002 Robert Collins robert.collins@syncretize.net wrote:
RC> I was just about to suggest that whatever character is used is used as
RC> an escape char rather than a literal replacement.
RC> i.e.
RC> WIN32 CYGWIN
'aux%c' ->> 'aux:'
'aux%%' ->> 'aux%'
which means that
s='a%%'
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.
Egor. mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19
Before we go too far overboard, translate from "escaped" to "real" only
in the face of "%ab" where a and b are valid <hex-digit>.
That way, a user could even include the percent sign.
By the way, if noone recognized it, I'm using an internet standard as a
model - I'm not sure of the RFC number.
I'm pretty much in favor of a very minimalist approach, and of only
using it at the interface where we have a known problem.
--
David A. Cobb, Software Engineer, Public Access Advocate
"By God's Grace I am a Christian man, by my actions a great sinner." -- The Way of a Pilgrim; R. M. French, tr.
Life is too short to tolerate crappy software.
.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/