summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/utils.c9
2 files changed, 5 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 6566d23e8..00aebbb83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-04-23 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
+
+ * 40994: Src/utils.c: unmeta_one() need not count Meta
+
2017-04-21 Peter Stephenson <p.stephenson@samsung.com>
* 40990: Src/params.c: When starting in sh emulation, don't
diff --git a/Src/utils.c b/Src/utils.c
index 9701ea78a..ea4b34bab 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -4797,7 +4797,6 @@ unmeta_one(const char *in, int *sz)
convchar_t wc;
int newsz;
#ifdef MULTIBYTE_SUPPORT
- int ulen;
mbstate_t wstate;
#endif
@@ -4810,13 +4809,7 @@ unmeta_one(const char *in, int *sz)
#ifdef MULTIBYTE_SUPPORT
memset(&wstate, 0, sizeof(wstate));
- ulen = mb_metacharlenconv_r(in, &wc, &wstate);
- while (ulen-- > 0) {
- if (in[*sz] == Meta)
- *sz += 2;
- else
- *sz += 1;
- }
+ *sz = mb_metacharlenconv_r(in, &wc, &wstate);
#else
if (in[0] == Meta) {
*sz = 2;