From: Ilia Alshanetsky Date: Sun, 3 Dec 2006 15:52:37 +0000 (+0000) Subject: MFB: Fixed php_readdir_r() usage in scandir emulation X-Git-Tag: RELEASE_1_0_0RC1~844 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b728cd3b0500b8b9c0e72de43ca2accc917976aa;p=php MFB: Fixed php_readdir_r() usage in scandir emulation --- diff --git a/main/php_scandir.c b/main/php_scandir.c index 6b32e81087..7513dce1e9 100644 --- a/main/php_scandir.c +++ b/main/php_scandir.c @@ -61,11 +61,10 @@ int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector) { DIR *dirp = NULL; struct dirent **vector = NULL; - struct dirent *dp = NULL; int vector_size = 0; int nfiles = 0; char entry[sizeof(struct dirent)+MAXPATHLEN]; - struct dirent *result = (struct dirent *)&entry; + struct dirent *dp = (struct dirent *)&entry; if (namelist == NULL) { return -1; @@ -75,7 +74,7 @@ int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector) return -1; } - while ((dp = php_readdir_r(dirp, (struct dirent *)entry, &result)) == 0 && result) { + while (!php_readdir_r(dirp, (struct dirent *)entry, &dp) && dp) { int dsize = 0; struct dirent *newdp = NULL;