From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 178D9431FAE for ; Tue, 28 May 2013 11:39:21 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ULnSPZl382Yn for ; Tue, 28 May 2013 11:39:12 -0700 (PDT) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id 6D013431FC2 for ; Tue, 28 May 2013 11:39:04 -0700 (PDT) Received: by guru.guru-group.fi (Postfix, from userid 501) id B3FDA10014D; Tue, 28 May 2013 21:38:59 +0300 (EEST) From: Tomi Ollila To: notmuch@notmuchmail.org Subject: v3 of --stderr=FILE patches Date: Tue, 28 May 2013 21:38:51 +0300 Message-Id: <1369766335-26733-1-git-send-email-tomi.ollila@iki.fi> X-Mailer: git-send-email 1.8.0 Cc: tomi.ollila@iki.fi X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 May 2013 18:39:21 -0000 This is v3 of id:1369557954-13439-1-git-send-email-tomi.ollila@iki.fi In id:m2a9nfr4tb.fsf@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 # This line is ignored.