summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-05-15 16:35:22 +0200
committerAnatol Belski <ab@php.net>2017-05-15 16:35:22 +0200
commitae3f975c5d58f891359a72ad3df84d845e70cdcc (patch)
tree875afdcce5e8c808c50f222f916a2d49edefd396
parentc1d57186976e75a2a54f7bd167a77e2872cadc6a (diff)
downloadphp-git-ae3f975c5d58f891359a72ad3df84d845e70cdcc.tar.gz
Fixed bug #74589 __DIR__ wrong for unicode character
-rw-r--r--Zend/zend_compile.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index cea28d6ed0..bc4e3f0bd0 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -6455,7 +6455,11 @@ static zend_bool zend_try_ct_eval_magic_const(zval *zv, zend_ast *ast) /* {{{ */
{
zend_string *filename = CG(compiled_filename);
zend_string *dirname = zend_string_init(ZSTR_VAL(filename), ZSTR_LEN(filename), 0);
+#ifdef ZEND_WIN32
+ php_win32_ioutil_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
+#else
zend_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
+#endif
if (strcmp(ZSTR_VAL(dirname), ".") == 0) {
dirname = zend_string_extend(dirname, MAXPATHLEN, 0);