What you're describing is not POSIX anymore. Every single POSIX app would
need rewriting, for essentially zero gain (ooh, you can't have nulls in
filenames: that's why UTF-8 is *defined* to avoid nulls in filenames).
I'm sure users would love not being able to type in pathnames anymore,
too.
Posted Mar 29, 2009 19:47 UTC (Sun) by ldo (subscriber, #40946)
[Link]
nix wrote:
What you're describing is not POSIX anymore.
Nothing to do with POSIX. POSIX is a userland API, it doesnt dictate how the kernel should work.
Re: Not A System Problem
Posted Mar 29, 2009 22:32 UTC (Sun) by nix (subscriber, #2304)
[Link]
You don't get it. In order to permit / and \0 as valid filename
characters, syscalls like open() must change. Library calls like fopen()
have to change, because they too accept a \0-terminated string, with /s
separating path components. Every single call in every library that
accepts pathnames has to change. Probably the very notion of a string has
to change to something non-\0-terminated.
So whatever you're describing, userspace cannot any longer use standard
POSIX calls: in fact, it can't any longer use ANSI C calls! I suspect that
such a system would be almost unusable with C, simply because you couldn't
use C string literals for anything.