]> granicus.if.org Git - php/commitdiff
Include other flags as well
authorEtienne Kneuss <colder@php.net>
Thu, 4 Jun 2009 14:46:08 +0000 (14:46 +0000)
committerEtienne Kneuss <colder@php.net>
Thu, 4 Jun 2009 14:46:08 +0000 (14:46 +0000)
ext/spl/spl_directory.c
ext/spl/spl_directory.h

index df61ef3ff9e737ccfc045517c1f3b50df367f5d7..3bbbeabb525bd0910f28d5805b16d82f46f3940c 100755 (executable)
@@ -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
index e77fc6e3e12adb56e7db5ee69725716a731b5192..091b742a4003c627edfcfde82216457138cec263 100755 (executable)
@@ -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 */