summaryrefslogtreecommitdiffstats
path: root/contrib/bzip2
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2017-01-13 10:28:24 +0000
committeramdmi3 <amdmi3@FreeBSD.org>2017-01-13 10:28:24 +0000
commitb19e21baac12a6190e55090ffd66fe932eebf4ce (patch)
tree1be3b9f6970ed7feb42abe9883e3410e1e312066 /contrib/bzip2
parent1e83ccb86c47222e815a1121dda84135e2480e8d (diff)
downloadFreeBSD-src-b19e21baac12a6190e55090ffd66fe932eebf4ce.zip
FreeBSD-src-b19e21baac12a6190e55090ffd66fe932eebf4ce.tar.gz
MFC r310718:
bzip2 does not exit after showing license as requested with --version or --license as most apps would do, instead it waits for data to compress on stdin. Because of that, if `bzip2 --version' is called, bogus `bzip2: I won't write compressed data to a terminal' error message will be displayed, and checking for bzip2 version in scripts as in bzip2 --version 2>&1 | grep -o "Version [^,]*" will hand as bzip2 would wait for data to compress on stdin. Fix this by exiting right after showing version/license text. I've tried to push this upstream for more than a year, but author is unresponsive, so upstream may be considered dead. Ubuntu applies similar fix, for the note. PR: 199443 Approved by: dim, bapt Differential Revision: D8924
Diffstat (limited to 'contrib/bzip2')
-rw-r--r--contrib/bzip2/bzip2.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/bzip2/bzip2.c b/contrib/bzip2/bzip2.c
index 6de9d1d..e6e8369 100644
--- a/contrib/bzip2/bzip2.c
+++ b/contrib/bzip2/bzip2.c
@@ -1890,7 +1890,9 @@ IntNative main ( IntNative argc, Char *argv[] )
case '8': blockSize100k = 8; break;
case '9': blockSize100k = 9; break;
case 'V':
- case 'L': license(); break;
+ case 'L': license();
+ exit ( 0 );
+ break;
case 'v': verbosity++; break;
case 'h': usage ( progName );
exit ( 0 );
@@ -1916,8 +1918,8 @@ IntNative main ( IntNative argc, Char *argv[] )
if (ISFLAG("--keep")) keepInputFiles = True; else
if (ISFLAG("--small")) smallMode = True; else
if (ISFLAG("--quiet")) noisy = False; else
- if (ISFLAG("--version")) license(); else
- if (ISFLAG("--license")) license(); else
+ if (ISFLAG("--version")) { license(); exit ( 0 ); } else
+ if (ISFLAG("--license")) { license(); exit ( 0 ); } else
if (ISFLAG("--exponential")) workFactor = 1; else
if (ISFLAG("--repetitive-best")) redundant(aa->name); else
if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
OpenPOWER on IntegriCloud