summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/schily-tools/files/setuarg.patch')
-rw-r--r--app-shells/schily-tools/files/setuarg.patch27
1 files changed, 27 insertions, 0 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;