bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] [patch v3] Bug / question in tar


From: Pavel Raiskup
Subject: Re: [Bug-tar] [patch v3] Bug / question in tar
Date: Thu, 13 Mar 2014 21:32:05 +0100
User-agent: KMail/4.12.3 (Linux/3.13.6-200.fc20.x86_64; KDE/4.12.3; x86_64; ; )

Eric Blake:
> On 03/13/2014 12:00 PM, Paul Eggert wrote:
> > On 03/13/2014 10:32 AM, Pavel Raiskup wrote:
> >> Strictly
> >> speaking, GNU Coding Guidelines are talking about program_output_
> > 
> > You're right, and I hadn't noticed that.  How about doing things the way
> > xargs does them, as Eric Blake pointed out?  That seems like a nice
> > compromise.
> 
> Indeed, the xargs example modifies output according to whether stdin was
> a terminal; likewise for the lzip case.  Your patch looks reasonable to
> me (changing behavior solely on whether stdin is hooked to something
> unlikely to be able to provide full binary input, and not on whether
> stdout is a terminal or not).

I would vote for that also ^^.  Throwing simple warning is possible, it
would help a LOT contrary to current situation — so I am not strictly
against it (will send a patch possibly, just need to adjust testcase).

But I would like to convince you once more, Paul.  This is more like
nitpicking but still if that was at lest a little acceptable:  Sometimes
are programmers constructing command arguments within scripts (e.g.
tar $mode $file).  There is easy to come up with mistake.  Making tar fail
in this case would make the diagnosis little bit easier (not mentioning
the forever-hanging disaster as that should really be unlikely).

Marcus wrote:
> Paul Eggert wrote
> > On 03/13/2014 10:32 AM, Pavel Raiskup wrote:
> >> Strictly
> >> speaking, GNU Coding Guidelines are talking about program_output_
> >
> > You're right, and I hadn't noticed that.  How about doing things the 
> > way xargs does them, as Eric Blake pointed out?  That seems like a 
> > nice compromise.
> >
> Just an idea: Restrict the change of output to the case that no "-f" 
> argument is given - i. e. the user did *not* call "tar -f - -x 
> BIGFILE.tar" - perhaps with further options. Combined with a base64 
> decoder as "compressor", the user might supply the archve on the 
> console, get that to work and want to use it.

Marcus, you are still able to 'cat | tar -x -f -'.  I also don't think that
'tar -x' differs from 'tar -x -f -' because the '-f -' is just an
'./configure' time default which may differ from setup to setup (yes, yes,
the default seems to be always '-f -', though).  BTW, from [1]:

  STDIN
    When the f modifier is used with the t or x function letter and the
    pathname is -, the standard input is an archive file formatted as
    specified by pax with the -x ustar option. Otherwise, the standard
    input is not used.

TBH, I don't see much benefits if we let the tar command reading the
terminal input & success..

[1] http://pubs.opengroup.org/onlinepubs/7908799/xcu/tar.html

Pavel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]