aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Tomi Ollila <tomi.ollila@iki.fi>2013-05-31 22:10:31 +0300
committerGravatar David Bremner <bremner@debian.org>2013-06-24 22:52:59 -0700
commit8d863c9e87677909491f9783b951b2f0f13130ab (patch)
tree5738981eb4f34c5bc2ce7175423c9b44d299f0a8
parenteb7d096edce8443f3db49376ee485cf357523d3b (diff)
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.
-rw-r--r--NEWS5
-rw-r--r--man/man1/notmuch.17
-rw-r--r--notmuch-client.h1
-rw-r--r--notmuch.c32
-rwxr-xr-xtest/help-test9
5 files changed, 0 insertions, 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 <sys/stat.h>
#include <sys/time.h>
#include <unistd.h>
-#include <fcntl.h>
#include <dirent.h>
#include <errno.h>
#include <signal.h>
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