summary refs log tree commit diff
path: root/Src/glob.c
diff options
context:
space:
mode:
authorJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2015-09-12 20:35:56 +0900
committerJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2015-09-12 20:35:56 +0900
commit8b1676e3b7bca183fea725d38d62350d2688078b (patch)
tree3730287550cf94e1bb614fd23fee786991701c43 /Src/glob.c
parentc76f4f96a65c7bfbba2183c422a1fb567069981f (diff)
downloadzsh-8b1676e3b7bca183fea725d38d62350d2688078b.tar.gz
zsh-8b1676e3b7bca183fea725d38d62350d2688078b.tar.xz
zsh-8b1676e3b7bca183fea725d38d62350d2688078b.zip
36491: Multibyte support for parameter expansion flags B,E,N
Diffstat (limited to 'Src/glob.c')
-rw-r--r--Src/glob.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/glob.c b/Src/glob.c
index dea1bf50e..43d135b99 100644
--- a/Src/glob.c
+++ b/Src/glob.c
@@ -2491,17 +2491,17 @@ get_match_ret(char *s, int b, int e, int fl, char *replstr,
 	ll += 1 + (l - (e - b));
     if (fl & SUB_BIND) {
 	/* position of start of matched portion */
-	sprintf(buf, "%d ", b + 1);
+	sprintf(buf, "%d ", MB_METASTRLEN2END(s, 0, s+b) + 1);
 	ll += (bl = strlen(buf));
     }
     if (fl & SUB_EIND) {
 	/* position of end of matched portion */
-	sprintf(buf + bl, "%d ", e + 1);
+	sprintf(buf + bl, "%d ", MB_METASTRLEN2END(s, 0, s+e) + 1);
 	ll += (bl = strlen(buf));
     }
     if (fl & SUB_LEN) {
 	/* length of matched portion */
-	sprintf(buf + bl, "%d ", e - b);
+	sprintf(buf + bl, "%d ", MB_METASTRLEN2END(s+b, 0, s+e));
 	ll += (bl = strlen(buf));
     }
     if (bl)