mirror of
https://codeberg.org/icewind/SMB.git
synced 2026-06-03 17:24:07 +02:00
improve mode mask detection
This commit is contained in:
parent
80921d69f5
commit
24db40c674
1 changed files with 6 additions and 6 deletions
|
|
@ -116,8 +116,8 @@ class NativeFileInfo implements IFileInfo {
|
||||||
*/
|
*/
|
||||||
public function isDirectory() {
|
public function isDirectory() {
|
||||||
$mode = $this->getMode();
|
$mode = $this->getMode();
|
||||||
if ($mode > 0x80) {
|
if ($mode > 0x1000) {
|
||||||
return (bool)($mode & 0x4000); // 0x80: unix directory flag
|
return (bool)($mode & 0x4000); // 0x4000: unix directory flag
|
||||||
} else {
|
} else {
|
||||||
return (bool)($mode & IFileInfo::MODE_DIRECTORY);
|
return (bool)($mode & IFileInfo::MODE_DIRECTORY);
|
||||||
}
|
}
|
||||||
|
|
@ -128,7 +128,7 @@ class NativeFileInfo implements IFileInfo {
|
||||||
*/
|
*/
|
||||||
public function isReadOnly() {
|
public function isReadOnly() {
|
||||||
$mode = $this->getMode();
|
$mode = $this->getMode();
|
||||||
if ($mode > 0x80) {
|
if ($mode > 0x1000) {
|
||||||
return !(bool)($mode & 0x80); // 0x80: owner write permissions
|
return !(bool)($mode & 0x80); // 0x80: owner write permissions
|
||||||
} else {
|
} else {
|
||||||
return (bool)($mode & IFileInfo::MODE_READONLY);
|
return (bool)($mode & IFileInfo::MODE_READONLY);
|
||||||
|
|
@ -140,7 +140,7 @@ class NativeFileInfo implements IFileInfo {
|
||||||
*/
|
*/
|
||||||
public function isHidden() {
|
public function isHidden() {
|
||||||
$mode = $this->getMode();
|
$mode = $this->getMode();
|
||||||
if ($mode > 0x80) {
|
if ($mode > 0x1000) {
|
||||||
return strlen($this->name) > 0 && $this->name[0] === '.';
|
return strlen($this->name) > 0 && $this->name[0] === '.';
|
||||||
} else {
|
} else {
|
||||||
return (bool)($mode & IFileInfo::MODE_HIDDEN);
|
return (bool)($mode & IFileInfo::MODE_HIDDEN);
|
||||||
|
|
@ -152,7 +152,7 @@ class NativeFileInfo implements IFileInfo {
|
||||||
*/
|
*/
|
||||||
public function isSystem() {
|
public function isSystem() {
|
||||||
$mode = $this->getMode();
|
$mode = $this->getMode();
|
||||||
if ($mode > 0x80) {
|
if ($mode > 0x1000) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return (bool)($mode & IFileInfo::MODE_SYSTEM);
|
return (bool)($mode & IFileInfo::MODE_SYSTEM);
|
||||||
|
|
@ -164,7 +164,7 @@ class NativeFileInfo implements IFileInfo {
|
||||||
*/
|
*/
|
||||||
public function isArchived() {
|
public function isArchived() {
|
||||||
$mode = $this->getMode();
|
$mode = $this->getMode();
|
||||||
if ($mode > 0x80) {
|
if ($mode > 0x1000) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return (bool)($mode & IFileInfo::MODE_ARCHIVE);
|
return (bool)($mode & IFileInfo::MODE_ARCHIVE);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue