diff options
Diffstat (limited to 'ext/session/mod_files.c')
-rw-r--r-- | ext/session/mod_files.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index 552d990fe3..cb8138e60a 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -284,8 +284,7 @@ static int ps_files_write(ps_files *data, zend_string *key, zend_string *val) static int ps_files_cleanup_dir(const char *dirname, zend_long maxlifetime) { DIR *dir; - char dentry[sizeof(struct dirent) + MAXPATHLEN]; - struct dirent *entry = (struct dirent *) &dentry; + struct dirent *entry; zend_stat_t sbuf; char buf[MAXPATHLEN]; time_t now; @@ -312,7 +311,7 @@ static int ps_files_cleanup_dir(const char *dirname, zend_long maxlifetime) memcpy(buf, dirname, dirname_len); buf[dirname_len] = PHP_DIR_SEPARATOR; - while (php_readdir_r(dir, (struct dirent *) dentry, &entry) == 0 && entry) { + while ((entry = readdir(dir))) { /* does the file start with our prefix? */ if (!strncmp(entry->d_name, FILE_PREFIX, sizeof(FILE_PREFIX) - 1)) { size_t entry_len = strlen(entry->d_name); |