summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Väth <martin@mvath.de>2016-07-09 08:15:01 +0200
committerMartin Väth <martin@mvath.de>2016-07-09 08:15:01 +0200
commit4e5e07da99dd4c3e20168057126e3694314a670c (patch)
treeb9643143e9a30baffb66b2d0978ed7fe17fd34dc /app-shells/schily-tools
parentapp-cdr/xcdroast: Bump changes from main gentoo repository (diff)
downloadmv-4e5e07da99dd4c3e20168057126e3694314a670c.tar.gz
mv-4e5e07da99dd4c3e20168057126e3694314a670c.tar.bz2
mv-4e5e07da99dd4c3e20168057126e3694314a670c.zip
Bourne-compliant parameter substitution
Diffstat (limited to 'app-shells/schily-tools')
-rw-r--r--app-shells/schily-tools/files/setuarg.patch27
-rw-r--r--app-shells/schily-tools/schily-tools-2016.07.06.ebuild4
2 files changed, 30 insertions, 1 deletions
diff --git a/app-shells/schily-tools/files/setuarg.patch b/app-shells/schily-tools/files/setuarg.patch
new file mode 100644
index 00000000..46ce6ec2
--- /dev/null
+++ b/app-shells/schily-tools/files/setuarg.patch
@@ -0,0 +1,27 @@
+--- 1/sh/macro.c
++++ 1/sh/macro.c
+@@ -322,6 +322,7 @@
+ if ((c = readwc(), dolchar(c))) {
+ struct namnod *n = (struct namnod *)NIL;
+ int dolg = 0;
++ int isg = 1;
+ int vsize = -1;
+ BOOL bra;
+ BOOL nulflg;
+@@ -362,6 +363,7 @@
+ atflag = 1;
+ }
+ dolg = 1;
++ isg++;
+ c = 1;
+ } else if (digit(c)) {
+ c -= '0';
+@@ -622,7 +624,7 @@
+ error(badsub);
+ }
+ }
+- } else if (flags & setflg) {
++ } else if ((flags & setflg) && isg == 0) {
+ failed(id, unset);
+ }
+ goto retry;
diff --git a/app-shells/schily-tools/schily-tools-2016.07.06.ebuild b/app-shells/schily-tools/schily-tools-2016.07.06.ebuild
index 38477a61..77879a00 100644
--- a/app-shells/schily-tools/schily-tools-2016.07.06.ebuild
+++ b/app-shells/schily-tools/schily-tools-2016.07.06.ebuild
@@ -17,6 +17,8 @@ HOMEPAGE="https://sourceforge.net/projects/schilytools/"
KEYWORDS="~amd64 ~x86"
IUSE="acl caps static-libs system-libschily system-star xattr"
+PATCHES=("$FILESDIR"/setuarg.patch)
+
add_iuse_expand() {
local i j
j=${1}
@@ -151,7 +153,7 @@ targets() {
continue;;
esac
mv -v UNUSED_TARGETS/??"${i}" TARGETS || die
- targets=${targets}${targets:+ }${i}
+ targets=${targets}${targets:+\ }${i}
done
}