about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-04-03 21:10:54 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-04-03 21:10:54 +0000
commitcc026d233989e91186bc50dc201535696aed9b75 (patch)
tree9902bf502d2ae4ec2c6b2d931778efe59860b131 /Src/subst.c
parente5d8a42249026d83c5135869e602fc413346ff0d (diff)
downloadzsh-cc026d233989e91186bc50dc201535696aed9b75.tar.gz
zsh-cc026d233989e91186bc50dc201535696aed9b75.tar.xz
zsh-cc026d233989e91186bc50dc201535696aed9b75.zip
24788: ${(m)#...} returns string print width
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 9df448fc9..1645764ec 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2589,7 +2589,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 	    else if (getlen == 2) {
 		if (*aval)
 		    for (len = -sl, ctr = aval;
-			 len += sl + MB_METASTRLEN(*ctr), *++ctr;);
+			 len += sl + MB_METASTRLEN2(*ctr, multi_width),
+			     *++ctr;);
 	    }
 	    else
 		for (ctr = aval;
@@ -2597,7 +2598,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 		     len += wordcount(*ctr, spsep, getlen > 3), ctr++);
 	} else {
 	    if (getlen < 3)
-		len = MB_METASTRLEN(val);
+		len = MB_METASTRLEN2(val, multi_width);
 	    else
 		len = wordcount(val, spsep, getlen > 3);
 	}