summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/basic_functions.c1
-rw-r--r--ext/standard/dir.c9
-rw-r--r--ext/standard/php_dir.h3
3 files changed, 8 insertions, 5 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 91ce4a2de3..d332e4b64e 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -725,6 +725,7 @@ PHP_RINIT_FUNCTION(basic)
PHP_RINIT(filestat)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(syslog)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(assert)(INIT_FUNC_ARGS_PASSTHRU);
+ PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
return SUCCESS;
}
diff --git a/ext/standard/dir.c b/ext/standard/dir.c
index c2e9a98822..32674b696f 100644
--- a/ext/standard/dir.c
+++ b/ext/standard/dir.c
@@ -113,9 +113,12 @@ static void _dir_dtor(php_dir *dirp)
efree(dirp);
}
-static void php_dir_init_globals(DIRLS_D)
+PHP_RINIT_FUNCTION(dir)
{
+ DIRLS_FETCH();
+
DIRG(default_dir) = -1;
+ return SUCCESS;
}
PHP_MINIT_FUNCTION(dir)
@@ -128,9 +131,7 @@ PHP_MINIT_FUNCTION(dir)
dir_class_entry_ptr = zend_register_internal_class(&dir_class_entry);
#ifdef ZTS
- dir_globals_id = ts_allocate_id(sizeof(php_dir_globals), (ts_allocate_ctor) php_dir_init_globals, NULL);
-#else
- php_dir_init_globals(DIRLS_C);
+ dir_globals_id = ts_allocate_id(sizeof(php_dir_globals), NULL, NULL);
#endif
return SUCCESS;
diff --git a/ext/standard/php_dir.h b/ext/standard/php_dir.h
index 5d636edc1e..566a97c713 100644
--- a/ext/standard/php_dir.h
+++ b/ext/standard/php_dir.h
@@ -23,7 +23,8 @@
#define _PHP_DIR_H
/* directory functions */
-extern PHP_MINIT_FUNCTION(dir);
+PHP_MINIT_FUNCTION(dir);
+PHP_RINIT_FUNCTION(dir);
PHP_FUNCTION(opendir);
PHP_FUNCTION(closedir);
PHP_FUNCTION(chdir);