diff options
-rw-r--r-- | main/rfc1867.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/rfc1867.c b/main/rfc1867.c index 7f393c6ec3..5d7bd78d4e 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -510,13 +510,15 @@ static char *substring_conf(char *start, int len, char quote TSRMLS_DC) if (start[i] == '\\' && (start[i + 1] == '\\' || (quote && start[i + 1] == quote))) { *resp++ = start[++i]; } else { - *resp++ = start[i]; #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING) if (php_mb_encoding_translation(TSRMLS_C)) { size_t j = php_mb_mbchar_bytes(start+i TSRMLS_CC); while (j-- > 0) { - *resp++ = start[++i]; + *resp++ = start[i++]; } + --i; + } else { + *resp++ = start[i]; } #endif } |