v3 of --stderr=FILE patches

Tomi Ollila tomi.ollila at iki.fi
Tue May 28 11:38:51 PDT 2013


This is v3 of id:1369557954-13439-1-git-send-email-tomi.ollila at iki.fi

In id:m2a9nfr4tb.fsf at guru.guru-group.fi I suggested to use 0600 as
permission bits so that files written to /tmp would not have write
bits set in any case. That would have been inconsistent what is
normally expected in redirection cases. The problem I described
is easily avoided in emacs as (make-temp-file "nmerr") will create
file "/tmp/nmerrXXXXXX" with permissions 0600 -- and writing to
that already-created file will not change its permissions. Writing
elsewhere is usually covered with directory permissions.


Diffdiff from v2 is shown below.

diff --git a/NEWS b/NEWS
index 990b038..80abd97 100644
--- a/NEWS
+++ b/NEWS
@@ -38,8 +38,7 @@ Top level option to specify configuration file
 Top level option to redirect writes to stderr
 
   With `notmuch --stderr=FILE` all writes to stderr are redirected to
-  the specified file. If the file name is a plain '-', stderr is
-  written to stdout.
+  the specified file. If FILE is '-', stderr is redirected to stdout.
 
 Deprecated commands "part" and "search-tags" are removed.
 
diff --git a/man/man1/notmuch.1 b/man/man1/notmuch.1
index fbd575a..f5ca0ad 100644
--- a/man/man1/notmuch.1
+++ b/man/man1/notmuch.1
@@ -83,7 +83,7 @@ configuration file specified by ${NOTMUCH_CONFIG}.
 .B \-\-stderr=FILE
 
 Redirect all writes to stderr to the specified file.
-If the file name is a plain '-', stderr is written to stdout.
+If FILE is '-', stderr is redirected to stdout.
 .RE
 
 .SH COMMANDS
diff --git a/notmuch.c b/notmuch.c
index 654a568..15e90c8 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -260,7 +260,7 @@ redirect_stderr (const char * stderr_file)
 	    return 1;
 	}
     } else {
-	int fd = open (stderr_file, O_WRONLY|O_CREAT|O_APPEND, 0644);
+	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));


>From Tomi Ollila <tomi.ollila at iki.fi> # This line is ignored.



More information about the notmuch mailing list