Path: csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Greg Wooledge Newsgroups: gnu.bash.bug Subject: Re: How do we intercept file saving or output to stdout directly Date: Wed, 26 Aug 2020 08:13:52 -0400 Lines: 17 Approved: bug-bash@gnu.org Message-ID: References: <1598249852364-0.post@n7.nabble.com> <87a6yinjhl.fsf@hobgoblin.ariadne.com> <20200826121352.GN931@eeg.ccf.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: usenet.stanford.edu 1598444064 20001 209.51.188.17 (26 Aug 2020 12:14:24 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org Mail-Followup-To: bug-bash@gnu.org Content-Disposition: inline In-Reply-To: <87a6yinjhl.fsf@hobgoblin.ariadne.com> User-Agent: Mutt/1.10.1 (2018-07-13) Received-SPF: none client-ip=139.137.100.1; envelope-from=wooledg@eeg.ccf.org; helo=mail.eeg.ccf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/26 08:13:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.399, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <20200826121352.GN931@eeg.ccf.org> X-Mailman-Original-References: <1598249852364-0.post@n7.nabble.com> <87a6yinjhl.fsf@hobgoblin.ariadne.com> Xref: csiph.com gnu.bash.bug:16817 On Wed, Aug 26, 2020 at 12:01:26AM -0400, Dale R. Worley wrote: > open("/dev/stdout", O_WRONLY|O_CREAT|O_EXCL, 0666) = -1 EEXIST (File exists) > write(2, "Error: ", 18Error: ) = 18 > write(2, "Cannot open \"/dev/stdout\" to wri"..., 56Cannot open "/dev/stdout" to write keyboard description > ) = 56 > > The open() is done with the O_EXCL flag. Reading the manual page > open(2), I see that O_EXCL requires that the open() call creates the > file. > > It's not clear why xkbcomp has this behavior, but it seems likely that > this is done for a specific reason. So you will have to ask whoever > maintains it. The obvious guess is that it's to "prevent you from accidentally overwriting a file".