From: Etienne Kneuss Date: Thu, 4 Jun 2009 14:46:08 +0000 (+0000) Subject: Include other flags as well X-Git-Tag: php-5.4.0alpha1~191^2~3409 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f357b310a204f42fc0a64902f294bbf3b0267886;p=php Include other flags as well --- diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index df61ef3ff9..3bbbeabb52 100755 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -1334,7 +1334,7 @@ SPL_METHOD(FilesystemIterator, getFlags) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK)); + RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK | SPL_FILE_DIR_OTHERS_MASK)); } /* }}} */ /* {{{ proto void FilesystemIterator::setFlags(long $flags) U @@ -1346,8 +1346,8 @@ SPL_METHOD(FilesystemIterator, setFlags) zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &flags); - intern->flags &= ~(SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK); - intern->flags |= ((SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK) & flags); + intern->flags &= ~(SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_MASK); + intern->flags |= ((SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_MASK) & flags); } /* }}} */ /* {{{ proto bool RecursiveDirectoryIterator::hasChildren([bool $allow_links = false]) U diff --git a/ext/spl/spl_directory.h b/ext/spl/spl_directory.h index e77fc6e3e1..091b742a40 100755 --- a/ext/spl/spl_directory.h +++ b/ext/spl/spl_directory.h @@ -137,6 +137,7 @@ static inline spl_filesystem_object* spl_filesystem_iterator_to_object(spl_files #define SPL_FILE_DIR_SKIPDOTS 0x00001000 /* Tells whether it should skip dots or not */ #define SPL_FILE_DIR_UNIXPATHS 0x00002000 /* Whether to unixify path separators */ +#define SPL_FILE_DIR_OTHERS_MASK 0x00003000 /* mask used for get/setFlags */ #endif /* SPL_DIRECTORY_H */