Skip to content

Commit 91f2d38

Browse files
committed
Issue-60742: Added FilesystemIterator::OTHER_MODE_MASK
1 parent 53e3467 commit 91f2d38

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

ext/spl/spl_directory.c

+1
Original file line numberDiff line numberDiff line change
@@ -3020,6 +3020,7 @@ PHP_MINIT_FUNCTION(spl_directory)
30203020
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "FOLLOW_SYMLINKS", SPL_FILE_DIR_FOLLOW_SYMLINKS);
30213021
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "KEY_AS_FILENAME", SPL_FILE_DIR_KEY_AS_FILENAME);
30223022
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "NEW_CURRENT_AND_KEY", SPL_FILE_DIR_KEY_AS_FILENAME|SPL_FILE_DIR_CURRENT_AS_FILEINFO);
3023+
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "OTHER_MODE_MASK", SPL_FILE_DIR_OTHERS_MASK);
30233024
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "SKIP_DOTS", SPL_FILE_DIR_SKIPDOTS);
30243025
REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "UNIX_PATHS", SPL_FILE_DIR_UNIXPATHS);
30253026

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
--TEST--
2+
SPL: FilesystemIterator::getFlags() basic tests
3+
--CREDITS--
4+
Joshua Thijssen <jthijssen@noxlogic.nl>
5+
--FILE--
6+
<?php
7+
8+
$it = new FileSystemIterator(".");
9+
printflags($it);
10+
11+
$it->setFlags(FileSystemIterator::CURRENT_AS_SELF |
12+
FileSystemIterator::KEY_AS_FILENAME |
13+
FileSystemIterator::SKIP_DOTS |
14+
FileSystemIterator::UNIX_PATHS);
15+
printflags($it);
16+
17+
$it->setFlags(-1);
18+
printflags($it);
19+
20+
function printflags($it) {
21+
printf("%08X\n", $it->getFlags());
22+
printf("%08X\n", ($it->getFlags() & FileSystemIterator::CURRENT_MODE_MASK));
23+
printf("%08X\n", ($it->getFlags() & FileSystemIterator::KEY_MODE_MASK));
24+
printf("%08X\n", ($it->getFlags() & FileSystemIterator::OTHER_MODE_MASK));
25+
}
26+
27+
?>
28+
--EXPECT--
29+
00001000
30+
00000000
31+
00000000
32+
00001000
33+
00003110
34+
00000010
35+
00000100
36+
00003000
37+
00003FF0
38+
000000F0
39+
00000F00
40+
00003000

0 commit comments

Comments
 (0)