Date: Fri, 11 Dec 2009 12:57:12 +0100 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no> To: Roman Divacky <rdivacky@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Stefan Farfeleder <stefanf@FreeBSD.org>, src-committers@FreeBSD.org Subject: Re: svn commit: r200068 - head/usr.bin Message-ID: <86k4wtn2p3.fsf@ds4.des.no> In-Reply-To: <20091210173231.GA93327@freebsd.org> (Roman Divacky's message of "Thu, 10 Dec 2009 18:32:31 %2B0100") References: <200912031802.nB3I2txS021472@svn.freebsd.org> <20091210163118.GA66146@lizard.fafoe.narf.at> <20091210173231.GA93327@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Roman Divacky <rdivacky@FreeBSD.org> writes: > Stefan Farfeleder <stefanf@FreeBSD.org> wrote: > > For me this breaks the ooo-3 build with: > >=20 > > unzip: -n, -o and -u are contradictory > >=20 > > The failing command is 'unzip -quo jurt_src.zip'. > > I dont see a reason why this check is there: > > if (n_opt + o_opt + u_opt > 1) > errorx("-n, -o and -u are contradictory"); > > > dag, can you comment? s/dag/des/, please. The bug is in OOo. If you look at extract_file(), you'll see that these three options are handled in three separate branches of a multi-branch if. -n means "never overwrite" -o means "always overwrite" -u means "sometimes overwrite" so -uo does not make much sense, and -n along with either -u or -o does not make any sense whatsoever. > /usr/local/bin/unzip seems to accept those together happilly.. You should check if: a) -uo gives the same result as -u b) -uo gives the same result as -o c) -ou gives the same result as -u d) -ou gives the same result as -o e) -uo and -ou give the same result My guess would be either bc or bde. In either case, there is a risk that this is not what the user wanted, so IMHO the best solution is to not do anything at all. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86k4wtn2p3.fsf>