On Tue, 01 Mar 2011 10:08:14 -0500, Lars T. Kyllingstad <[email protected]> wrote:

On Tue, 01 Mar 2011 09:52:50 -0500, Steven Schveighoffer wrote:

On Tue, 01 Mar 2011 09:31:18 -0500, Lars T. Kyllingstad
<[email protected]> wrote:

On Tue, 01 Mar 2011 08:50:29 -0500, Nick Sabalausky wrote:

"Steven Schveighoffer" <[email protected]> wrote in message

From this page: http://en.wikipedia.org/wiki/Filename, it appears
that really, the only disallowed character in unix filenames is '/'.
Even '*' is allowed as a filename.  How... horrible.
I would actually feel very good to just simply not support such
things. If some unix user is going to use such awful filenames they
can just deal with the consequences. (And I'm *rarely* the kind of
person to hold such a viewpoint on software development matters.)

If you have a bunch of "reserved characters", that means more special
cases to worry about in code.  I say it's better to allow as many
characters as possible.

You still have to worry about them, because the shell treats them
specially.

If there is a file named '*.d', and you type in rm *.d on the command
line, guess what happens?

If you are using a command line shell you ought to know better than
typing "rm *.d". :)  If you are using a GUI shell, you right-click and
select "Delete file", and nothing bad happens.

"should have known better" is an unsatisfying response to "I just *accidentally* deleted all my work." You could tell that to someone who drives off a cliff, but isn't it also good to put up guard rails?

very very smart, experienced people sometimes do things without thinking. If we can do something really small to prevent catastrophic errors, I think it's worth it. I think in close to 100% of cases, one never wants a file with \ or * in it, so the library disallowing it will not cause any issues.

One time, I was unpacking a program that wanted to be unpacked in /, so it could put files in bin, lib, etc. I accidentally unpacked it in the current directory. Wanting to remove it and go to / in order to unpack, I typed rm -rf /. Bad things happened :) This is obviously not an example that could have been prevented, but it goes to show that sometimes we just type commands without thinking, and the less chance we have to make mistakes, the better.

-Steve

Reply via email to