|
Lines 34-40
Link Here
|
| 34 |
files="$*" |
34 |
files="$*" |
| 35 |
|
35 |
|
| 36 |
# walk through the file list and expand archives members |
36 |
# walk through the file list and expand archives members |
| 37 |
tmpdir=`echo $archive | sed -e 's;[^/]*$;.arx;'` |
37 |
ar_tmpdir=`echo $archive | sed -e 's;[^/]*$;.arx;'` |
| 38 |
nfiles='' |
38 |
nfiles='' |
| 39 |
if [ ".$files" != . ]; then |
39 |
if [ ".$files" != . ]; then |
| 40 |
for file in $files; do |
40 |
for file in $files; do |
|
Lines 44-56
Link Here
|
| 44 |
fi |
44 |
fi |
| 45 |
case $file in |
45 |
case $file in |
| 46 |
*.a ) |
46 |
*.a ) |
| 47 |
if [ ! -d $tmpdir ]; then |
47 |
if [ ! -d $ar_tmpdir ]; then |
| 48 |
if [ ".$opt_t" = .yes ]; then |
48 |
if [ ".$opt_t" = .yes ]; then |
| 49 |
echo "mkdir $tmpdir" 1>&2 |
49 |
echo "mkdir $ar_tmpdir" 1>&2 |
| 50 |
fi |
50 |
fi |
| 51 |
mkdir $tmpdir |
51 |
mkdir $ar_tmpdir |
| 52 |
fi |
52 |
fi |
| 53 |
case $tmpdir in |
53 |
case $ar_tmpdir in |
| 54 |
.arx ) |
54 |
.arx ) |
| 55 |
from="../$file" |
55 |
from="../$file" |
| 56 |
;; |
56 |
;; |
|
Lines 61-76
Link Here
|
| 61 |
;; |
61 |
;; |
| 62 |
esac |
62 |
esac |
| 63 |
if [ ".$opt_t" = .yes ]; then |
63 |
if [ ".$opt_t" = .yes ]; then |
| 64 |
echo "(cd $tmpdir && $ar_prg x $from)" 1>&2 |
64 |
echo "(cd $ar_tmpdir && $ar_prg x $from)" 1>&2 |
| 65 |
fi |
65 |
fi |
| 66 |
(cd $tmpdir && eval $ar_prg x $from) |
66 |
(cd $ar_tmpdir && eval $ar_prg x $from) |
| 67 |
if [ $? -ne 0 ]; then |
67 |
if [ $? -ne 0 ]; then |
| 68 |
echo "$msgprefix:Error: member extraction failed for archive: $file" 1>&2 |
68 |
echo "$msgprefix:Error: member extraction failed for archive: $file" 1>&2 |
| 69 |
shtool_exit 1 |
69 |
shtool_exit 1 |
| 70 |
fi |
70 |
fi |
| 71 |
for member in - `eval $ar_prg t $file | sed -e '/_\.SYMDEF/d'`; do |
71 |
for member in - `eval $ar_prg t $file | sed -e '/_\.SYMDEF/d'`; do |
| 72 |
[ ".$member" = .- ] && continue |
72 |
[ ".$member" = .- ] && continue |
| 73 |
nfiles="$nfiles $tmpdir/$member" |
73 |
nfiles="$nfiles $ar_tmpdir/$member" |
| 74 |
done |
74 |
done |
| 75 |
;; |
75 |
;; |
| 76 |
* ) |
76 |
* ) |
|
Lines 91-101
Link Here
|
| 91 |
fi |
91 |
fi |
| 92 |
|
92 |
|
| 93 |
# cleanup and die gracefully |
93 |
# cleanup and die gracefully |
| 94 |
if [ -d $tmpdir ]; then |
94 |
if [ -d $ar_tmpdir ]; then |
| 95 |
if [ ".$opt_t" = .yes ]; then |
95 |
if [ ".$opt_t" = .yes ]; then |
| 96 |
echo "rm -rf $tmpdir" 1>&2 |
96 |
echo "rm -rf $ar_tmpdir" 1>&2 |
| 97 |
fi |
97 |
fi |
| 98 |
rm -rf $tmpdir |
98 |
rm -rf $ar_tmpdir |
| 99 |
fi |
99 |
fi |
| 100 |
|
100 |
|
| 101 |
shtool_exit 0 |
101 |
shtool_exit 0 |