Tor obeys --quiet, --hush, etc without regard for argument order
When you run
$ src/or/tor contactinfo "--quiet"
it is not supposed to set your contactinfo to "--quiet" while at the same time telling Tor to change its default log setting.
The problem comes from
/* We search for the "quiet" option first, since it decides whether we
* will log anything at all to the command line. */
for (i=1;i<argc;++i) {
if (!strcmp(argv[i], "--hush"))
quiet = 1;
if (!strcmp(argv[i], "--quiet"))
quiet = 2;
/* --version implies --quiet */
if (!strcmp(argv[i], "--version"))
quiet = 2;
}
We just paw through the arg list without paying attention to syntax of other arguments.
Surely there's a better way. :)