On Aug 2, 2007, at 6:22, David Cantrell wrote:
If I want to use a billion characters and kick the shit out of my swap
slice, the computer should allow me, the administrator, to shoot myself
in the foot.  That it doesn't is a misfeature.

The OS is not required to allow you, as a user or administrator, to shoot yourself in the foot* every time you want to. Especially when the system would get seriously broken long before your gigabyte command lines started showing up... just letting users use a few megabytes of command line routinely would have unfortunate consequences.

The solution is to get rid of the command *line* as the only way to pass parameters to a program. One of the ancestors of CP/M, ISIS, passed command arguments as preloaded input... your program just read the command line as the first line. In UNIX, it would be better to have a "stdcmd" stream that let you read a *genuinely* unlimited stream of null-terminated parameters. In the absence of that, handcraft it yourself.

* For example... you're not allowed, as administrator, to use "dd" to zero out a directory entry on a mounted file system any more. You used to be able to treat directories just like files if you were root, and there was much wailing and gnashing of teeth when that went away.

Reply via email to