Displaying 2 results from an estimated 2 matches for "patloc".
Did you mean:
alloc
2020 Mar 28
0
[klibc:update-dash] dash: expand: Do not reprocess data when expanding words
...eturn loc;
+ } else
+ loc = str - 1;
+
+out:
+ amount = loc - expdest;
+ STADJUST(amount, expdest);
+
+ /* Remove any recorded regions beyond start of variable */
+ removerecordregions(startloc);
+
+ return p;
}
@@ -705,7 +696,6 @@ evalvar(char *p, int flag)
int varflags;
char *var;
int patloc;
- int c;
int startloc;
ssize_t varlen;
int quoted;
@@ -713,9 +703,6 @@ evalvar(char *p, int flag)
varflags = *p++;
subtype = varflags & VSTYPE;
- if (!subtype)
- sh_error("Bad substitution");
-
quoted = flag & EXP_QUOTED;
var = p;
startloc = expdest - (char *)s...
2020 Mar 28
0
[klibc:update-dash] dash: expand: Fix multiple issues with EXP_DISCARD in evalvar
...gt;
---
usr/dash/expand.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/usr/dash/expand.c b/usr/dash/expand.c
index 411381bd..25236c09 100644
--- a/usr/dash/expand.c
+++ b/usr/dash/expand.c
@@ -698,6 +698,7 @@ evalvar(char *p, int flag)
int patloc;
int startloc;
ssize_t varlen;
+ int discard;
int quoted;
varflags = *p++;
@@ -713,41 +714,41 @@ again:
if (varflags & VSNUL)
varlen--;
+ discard = varlen < 0 ? EXP_DISCARD : 0;
+
switch (subtype) {
case VSPLUS:
- varlen = -1 - varlen;
+ discard ^= EXP_DISCARD;
/* f...