search for: patloc

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...