Fixed opendir() thoroughly

This commit is contained in:
Zeev Suraski 2000-06-29 21:51:40 +00:00
parent 4e5597e061
commit 7fb72c1726
4 changed files with 14 additions and 5 deletions

6
NEWS
View File

@ -2,6 +2,12 @@ PHP 4.0 NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2000, Version 4.0.2
- Fixed opendir() again. It should actually work well continuously now (Zeev)
- Added three additional arguments to be sent to a user-defined error handler -
the filename and line number in which the error occured, and the context
(the local variables) of the error (Zeev, Zend Engine)
- Improved the error handling code to handle an error in a user-defined error
handling function (Zeev, Zend Engine)
- Added an optional parameter to preg_replace() that can be used to
specify how many replacements to make. (Andrei)

View File

@ -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;
}

View File

@ -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;

View File

@ -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);