Subject: Re: argc ("-handling -multiple -args -that -look -like -1 -arg")
From: Erik Naggum <erik@naggum.no>
Date: 2000/06/25
Newsgroups: comp.lang.lisp
Message-ID: <3170917784127386@naggum.no>

* Clayton Weaver <cgweav@eskimo.com>
| I will finish with the opinion that nitpicking the corner cases
| where it can do the wrong thing does not change the benefit of
| splitting command arguments with embedded field separators in them
| to see if they make sense as discrete command options in the average
| case.  If there are security implications, then deal with those for
| those arguments with security issues in whatever way is appropriate.

  This could have been fine if there were only a fixed set of field
  separators.  There aren't.  The shell user/programmer may set the
  internal field separators (shell variable IFS) to whatever he wants
  precisely to avoid parsing problems with random user input.  IFS
  does not have to be exported to the environment, so there's no
  telling what the internal field separators were.

| Anyone who suspects that their command line option parser will not
| be able to disambiguate multiple options in a single argument string
| from persistent storage object names with embedded field separators
| often enough for the code to do that to be worth the effort of
| designing that functionality into their program is free to not
| implement it.

  Oh, great!  Let's have all programs differ in the way they do this!

  My conclusion: Beware of people who speak of the "average case" or
  "often enough" when designing user or programming interfaces.

#:Erik
-- 
  If this is not what you expected, please alter your expectations.