Commit: 91f2d3809eb9575874ab60f04b7412785fb5b03c
Author: Joshua Thijssen(jthijs...@noxlogic.nl)         Mon, 19 Mar 2012 
21:48:55 +0100
Committer: Joshua Thijssen(jthijs...@noxlogic.nl)      Mon, 19 Mar 2012 
21:48:55 +0100
Parents: 53e3467ff233af4a40626f86ea8a61880722beb8

Link: 
http://git.php.net/?p=php-src.git;a=commitdiff;h=91f2d3809eb9575874ab60f04b7412785fb5b03c

Log:
Issue-60742: Added FilesystemIterator::OTHER_MODE_MASK

Changed paths:
  M  ext/spl/spl_directory.c
  A  ext/spl/tests/filesystemiterator_flags.phpt


Diff:
91f2d3809eb9575874ab60f04b7412785fb5b03c
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index eeb9ecc..c6eec94 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -3020,6 +3020,7 @@ PHP_MINIT_FUNCTION(spl_directory)
        REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "FOLLOW_SYMLINKS",    
 SPL_FILE_DIR_FOLLOW_SYMLINKS);
        REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "KEY_AS_FILENAME",    
 SPL_FILE_DIR_KEY_AS_FILENAME);
        REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, 
"NEW_CURRENT_AND_KEY", 
SPL_FILE_DIR_KEY_AS_FILENAME|SPL_FILE_DIR_CURRENT_AS_FILEINFO);
+       REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "OTHER_MODE_MASK",    
 SPL_FILE_DIR_OTHERS_MASK);
        REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "SKIP_DOTS",          
 SPL_FILE_DIR_SKIPDOTS);
        REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "UNIX_PATHS",         
 SPL_FILE_DIR_UNIXPATHS);
 
diff --git a/ext/spl/tests/filesystemiterator_flags.phpt 
b/ext/spl/tests/filesystemiterator_flags.phpt
new file mode 100644
index 0000000..6353456
--- /dev/null
+++ b/ext/spl/tests/filesystemiterator_flags.phpt
@@ -0,0 +1,40 @@
+--TEST--
+SPL: FilesystemIterator::getFlags() basic tests
+--CREDITS--
+Joshua Thijssen <jthijs...@noxlogic.nl>
+--FILE--
+<?php
+
+$it = new FileSystemIterator(".");
+printflags($it);
+
+$it->setFlags(FileSystemIterator::CURRENT_AS_SELF |
+               FileSystemIterator::KEY_AS_FILENAME |
+               FileSystemIterator::SKIP_DOTS | 
+               FileSystemIterator::UNIX_PATHS);
+printflags($it);
+
+$it->setFlags(-1);
+printflags($it);
+
+function printflags($it) {
+       printf("%08X\n", $it->getFlags());
+       printf("%08X\n", ($it->getFlags() & 
FileSystemIterator::CURRENT_MODE_MASK));
+       printf("%08X\n", ($it->getFlags() & FileSystemIterator::KEY_MODE_MASK));
+       printf("%08X\n", ($it->getFlags() & 
FileSystemIterator::OTHER_MODE_MASK));
+}
+
+?>
+--EXPECT--
+00001000
+00000000
+00000000
+00001000
+00003110
+00000010
+00000100
+00003000
+00003FF0
+000000F0
+00000F00
+00003000


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to