From 8d863c9e87677909491f9783b951b2f0f13130ab Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Fri, 31 May 2013 22:10:31 +0300 Subject: [PATCH] revert: Removed top level --stderr= option While looked good on paper, its attempted use caused confusion, complexity, and potential for information leak when passed through wrapper scripts. For slimmer code and to lessen demand for maintenance/support the set of commits which added top level --stderr= option is now reverted. --- NEWS | 5 ----- man/man1/notmuch.1 | 7 ------- notmuch-client.h | 1 - notmuch.c | 32 -------------------------------- test/help-test | 9 --------- 5 files changed, 54 deletions(-) diff --git a/NEWS b/NEWS index e1806c2f..811e5dd4 100644 --- a/NEWS +++ b/NEWS @@ -35,11 +35,6 @@ Top level option to specify configuration file It's now possible to specify the configuration file to use on the command line using the `notmuch --config=FILE` option. -Top level option to redirect writes to stderr - - With `notmuch --stderr=FILE` all writes to stderr are redirected to - the specified file. If FILE is '-', stderr is redirected to stdout. - Deprecated commands "part" and "search-tags" are removed. Bash command-line completion diff --git a/man/man1/notmuch.1 b/man/man1/notmuch.1 index f5ca0ade..033cc107 100644 --- a/man/man1/notmuch.1 +++ b/man/man1/notmuch.1 @@ -76,14 +76,7 @@ Print the installed version of notmuch, and exit. Specify the configuration file to use. This overrides any configuration file specified by ${NOTMUCH_CONFIG}. -.RE -.RS 4 -.TP 4 -.B \-\-stderr=FILE - -Redirect all writes to stderr to the specified file. -If FILE is '-', stderr is redirected to stdout. .RE .SH COMMANDS diff --git a/notmuch-client.h b/notmuch-client.h index 4a3c7ac9..45749a6b 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -54,7 +54,6 @@ typedef GMimeCipherContext notmuch_crypto_context_t; #include #include #include -#include #include #include #include diff --git a/notmuch.c b/notmuch.c index 45a73ce0..ffe8f7e0 100644 --- a/notmuch.c +++ b/notmuch.c @@ -238,32 +238,6 @@ notmuch_command (notmuch_config_t *config, return 0; } -static int -redirect_stderr (const char * stderr_file) -{ - if (strcmp (stderr_file, "-") == 0) { - if (dup2 (STDOUT_FILENO, STDERR_FILENO) < 0) { - perror ("dup2"); - return 1; - } - } else { - int fd = open (stderr_file, O_WRONLY|O_CREAT|O_TRUNC, 0666); - if (fd < 0) { - fprintf (stderr, "Error: Cannot redirect stderr to '%s': %s\n", - stderr_file, strerror (errno)); - return 1; - } - if (fd != STDERR_FILENO) { - if (dup2 (fd, STDERR_FILENO) < 0) { - perror ("dup2"); - return 1; - } - close (fd); - } - } - return 0; -} - int main (int argc, char *argv[]) { @@ -272,7 +246,6 @@ main (int argc, char *argv[]) const char *command_name = NULL; command_t *command; char *config_file_name = NULL; - char *stderr_file = NULL; notmuch_config_t *config; notmuch_bool_t print_help=FALSE, print_version=FALSE; int opt_index; @@ -282,7 +255,6 @@ main (int argc, char *argv[]) { NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 }, { NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 }, { NOTMUCH_OPT_STRING, &config_file_name, "config", 'c', 0 }, - { NOTMUCH_OPT_STRING, &stderr_file, "stderr", '\0', 0 }, { 0, 0, 0, 0, 0 } }; @@ -304,10 +276,6 @@ main (int argc, char *argv[]) return 1; } - if (stderr_file && redirect_stderr (stderr_file) != 0) { - /* error already printed */ - return 1; - } if (print_help) return notmuch_help_command (NULL, argc - 1, &argv[1]); diff --git a/test/help-test b/test/help-test index bd0111c9..f7df725e 100755 --- a/test/help-test +++ b/test/help-test @@ -9,13 +9,4 @@ test_expect_success 'notmuch help' 'notmuch help' test_expect_success 'notmuch help tag' 'notmuch help tag' test_expect_success 'notmuch --version' 'notmuch --version' -test_begin_subtest "notmuch --stderr=stderr help %" -notmuch --stderr=stderr help % -test_expect_equal "$(cat stderr)" " -Sorry, % is not a known command. There's not much I can do to help." - -test_begin_subtest "notmuch --stderr=- help %" -test_expect_equal "$(notmuch --stderr=- help %)" " -Sorry, % is not a known command. There's not much I can do to help." - test_done