Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
John Abreau wrote: | Bill Ricker wrote: | > Unix open(2) | > used to prevent you from creating files with ' ' or '/', but I fear it | > only blocks '/' now ? | | When was this? Back when I first touched Unix, in 1983, the only bytes | open(2) did not allow in filenames were '/' and '\000'. I've never seen | a Unix where open(2) disallowed anything else. Me too. I'd be interested in hearing of a unix where the open() system call disallowed chars other tha '/' and NUL. I've never run across one (though I haven't thoroughly tested OSX, having been a bit put off by its refusal to distinguish case in ASCII chars ;-) I've occasionally seen this as a prime example of the unix design principle that the kernel should implement mechanisms, not policy. Policy decisions more properly belong outside the OS, in runtime libraries. This allows programmers to implement and experiment with new policies without the well-known problems of futzing around inside the kernel. And it lets different packages implement different policies. Right now, an important aspect of this is that the UTF-8 encoding can be done on any unixoid system without any kernel mods at all. This is because the kernel "doesn't care" about the encoding of file names. Anything other than '/' and NUL is "just a char", and the UTF-8 encoding doesn't use either of those two special chars in multi-byte characters.. -- _, O John Chambers <:#/> <jc at trillian.mit.edu> + <jc1742 at gmail.com> /#\ in Waltham, Massachusetts, USA, Earth | | ' `
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |