[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH] unpacker.eclass: Replace unnecessary eval with array
From:       Michał Górny <mgorny () gentoo ! org>
Date:       2017-02-23 19:47:11
Message-ID: 20170223194711.29453-1-mgorny () gentoo ! org
[Download RAW message or body]

Replace the eval used to attempt to construct whitespace-path-safe
utility calls with much simpler bash arrays.
---
 eclass/unpacker.eclass | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index 610765fbca8e..27d93eb37d98 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -219,30 +219,30 @@ unpack_makeself() {
 		debug-print "Detected Makeself version ${ver} ... using ${skip} as offset"
 	fi
 	case ${exe} in
-		tail)	exe="tail -n +${skip} '${src}'";;
-		dd)		exe="dd ibs=${skip} skip=1 if='${src}'";;
+		tail)	exe=( tail -n +${skip} "${src}" );;
+		dd)		exe=( dd ibs=${skip} skip=1 if="${src}" );;
 		*)		die "makeself cant handle exe '${exe}'"
 	esac
 
 	# lets grab the first few bytes of the file to figure out what kind of archive it is
 	local filetype tmpfile="${T}/${FUNCNAME}"
-	eval ${exe} 2>/dev/null | head -c 512 > "${tmpfile}"
+	"${exe[@]}" 2>/dev/null | head -c 512 > "${tmpfile}"
 	filetype=$(file -b "${tmpfile}") || die
 	case ${filetype} in
 		*tar\ archive*)
-			eval ${exe} | tar --no-same-owner -xf -
+			"${exe[@]}" | tar --no-same-owner -xf -
 			;;
 		bzip2*)
-			eval ${exe} | bzip2 -dc | tar --no-same-owner -xf -
+			"${exe[@]}" | bzip2 -dc | tar --no-same-owner -xf -
 			;;
 		gzip*)
-			eval ${exe} | tar --no-same-owner -xzf -
+			"${exe[@]}" | tar --no-same-owner -xzf -
 			;;
 		compress*)
-			eval ${exe} | gunzip | tar --no-same-owner -xf -
+			"${exe[@]}" | gunzip | tar --no-same-owner -xf -
 			;;
 		XZ*)
-			eval ${exe} | unxz | tar --no-same-owner -xf -
+			"${exe[@]}" | unxz | tar --no-same-owner -xf -
 			;;
 		*)
 			eerror "Unknown filetype \"${filetype}\" ?"
-- 
2.11.1


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic