diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-21 01:33:28 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-21 01:33:28 +0000 |
commit | 0abdec4fa34283821f14548c0aa97e52b5c8a0eb (patch) | |
tree | a3c2c5f4e1c40c654fd6e04b6df6bdeb45649659 /Src/pattern.c | |
parent | 1107e2f75fb17ced04271b933423e3e0ed0b3502 (diff) | |
download | zsh-0abdec4fa34283821f14548c0aa97e52b5c8a0eb.tar.gz zsh-0abdec4fa34283821f14548c0aa97e52b5c8a0eb.tar.xz zsh-0abdec4fa34283821f14548c0aa97e52b5c8a0eb.zip |
zsh-workers/7948
Diffstat (limited to 'Src/pattern.c')
-rw-r--r-- | Src/pattern.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Src/pattern.c b/Src/pattern.c index 63551967f..3b226c92f 100644 --- a/Src/pattern.c +++ b/Src/pattern.c @@ -1335,15 +1335,15 @@ pattry(Patprog prog, char *string) * in the pattern matching part. */ char *str; - int len = patinput - patinstart; + int mlen = ztrsub(patinput, patinstart); PERMALLOC { - str = dupstrpfx(patinstart, len); + str = dupstrpfx(patinstart, patinput - patinstart); } LASTALLOC; setsparam("MATCH", str); setiparam("MBEGIN", (zlong)(patoffset + !isset(KSHARRAYS))); setiparam("MEND", - (zlong)(len + patoffset + !isset(KSHARRAYS) - 1)); + (zlong)(mlen + patoffset + !isset(KSHARRAYS) - 1)); } if (prog->patnpar && !(patflags & PAT_FILE)) { /* @@ -1374,11 +1374,11 @@ pattry(Patprog prog, char *string) * corresponds to indexing as ${foo[1,1]}. */ sprintf(numbuf, "%ld", - (long)((*sp - patinstart) + patoffset + + (long)(ztrsub(*sp, patinstart) + patoffset + !isset(KSHARRAYS))); mbeginarr[i] = ztrdup(numbuf); sprintf(numbuf, "%ld", - (long)((*ep - patinstart) + patoffset + + (long)(ztrsub(*ep, patinstart) + patoffset + !isset(KSHARRAYS) - 1)); mendarr[i] = ztrdup(numbuf); sp++; |