Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelfmz <fenix1905@tut.by>2022-07-10 20:18:55 +0300
committerelfmz <fenix1905@tut.by>2022-07-10 20:30:21 +0300
commitcafc2f8eed536c1914405e1211a9bd454fcec372 (patch)
tree194d3b41b1c11d7a31a8c1da45c577ba8336484a /far2l/src/mix
parent23d2f58c03605ff711c021fe64550ac6f56d0d0a (diff)
add SUID/SGID/Sticky bits to attrs; fix build
Diffstat (limited to 'far2l/src/mix')
-rw-r--r--far2l/src/mix/FSFileFlags.cpp18
-rw-r--r--far2l/src/mix/FSFileFlags.h20
2 files changed, 21 insertions, 17 deletions
diff --git a/far2l/src/mix/FSFileFlags.cpp b/far2l/src/mix/FSFileFlags.cpp
index 5c999d04..07114caf 100644
--- a/far2l/src/mix/FSFileFlags.cpp
+++ b/far2l/src/mix/FSFileFlags.cpp
@@ -52,23 +52,23 @@ void FSFileFlags::SetImmutable(bool v)
}
}
-#if defined(__APPLE__) || defined(__FreeBSD__)
-
-bool FSFileFlags::Undeletable() const
+bool FSFileFlags::Append() const
{
- return FS_FLAGS_CONTAIN_UNDELETABLE(_flags);
+ return FS_FLAGS_CONTAIN_APPEND(_flags);
}
-void FSFileFlags::SetUndeletable(bool v)
+void FSFileFlags::SetAppend(bool v)
{
- if (v && !FS_FLAGS_CONTAIN_UNDELETABLE(_flags)) {
- _flags = FS_FLAGS_WITH_UNDELETABLE(_flags);
+ if (v && !FS_FLAGS_CONTAIN_APPEND(_flags)) {
+ _flags = FS_FLAGS_WITH_APPEND(_flags);
- } else if (!v && FS_FLAGS_CONTAIN_UNDELETABLE(_flags)) {
- _flags = FS_FLAGS_WITHOUT_UNDELETABLE(_flags);
+ } else if (!v && FS_FLAGS_CONTAIN_APPEND(_flags)) {
+ _flags = FS_FLAGS_WITHOUT_APPEND(_flags);
}
}
+#if defined(__APPLE__) || defined(__FreeBSD__)
+
bool FSFileFlags::Hidden() const
{
return FS_FLAGS_CONTAIN_HIDDEN(_flags);
diff --git a/far2l/src/mix/FSFileFlags.h b/far2l/src/mix/FSFileFlags.h
index dcc173c8..701ee651 100644
--- a/far2l/src/mix/FSFileFlags.h
+++ b/far2l/src/mix/FSFileFlags.h
@@ -18,10 +18,10 @@ public:
bool Immutable() const;
void SetImmutable(bool v);
-#if defined(__APPLE__) || defined(__FreeBSD__)
- bool Undeletable() const;
- void SetUndeletable(bool v);
+ bool Append() const;
+ void SetAppend(bool v);
+#if defined(__APPLE__) || defined(__FreeBSD__)
bool Hidden() const;
void SetHidden(bool v);
#endif
@@ -32,12 +32,12 @@ public:
# define FS_FLAGS_WITHOUT_IMMUTABLE(flags) ((flags) & (~(UF_IMMUTABLE | SF_IMMUTABLE)))
# define FS_FLAGS_WITH_IMMUTABLE(flags) ((flags) | (UF_IMMUTABLE))
-# define FS_FLAGS_CONTAIN_UNDELETABLE(flags) (((flags) & (UF_NOUNLINK | SF_NOUNLINK)) != 0)
-# define FS_FLAGS_WITHOUT_UNDELETABLE(flags) ((flags) & (~(UF_NOUNLINK | SF_NOUNLINK)))
-# define FS_FLAGS_WITH_UNDELETABLE(flags) ((flags) | (UF_NOUNLINK))
+# define FS_FLAGS_CONTAIN_APPEND(flags) (((flags) & (UF_APPEND | SF_APPEND)) != 0)
+# define FS_FLAGS_WITHOUT_APPEND(flags) ((flags) & (~(UF_APPEND | SF_APPEND)))
+# define FS_FLAGS_WITH_APPEND(flags) ((flags) | (UF_APPEND))
-# define FS_FLAGS_CONTAIN_HIDDEN(flags) (((flags) & (UF_HIDDEN | SF_HIDDEN)) != 0)
-# define FS_FLAGS_WITHOUT_HIDDEN(flags) ((flags) & (~(UF_HIDDEN | SF_HIDDEN)))
+# define FS_FLAGS_CONTAIN_HIDDEN(flags) (((flags) & (UF_HIDDEN)) != 0)
+# define FS_FLAGS_WITHOUT_HIDDEN(flags) ((flags) & (~(UF_HIDDEN)))
# define FS_FLAGS_WITH_HIDDEN(flags) ((flags) | (UF_HIDDEN))
#else
@@ -45,4 +45,8 @@ public:
# define FS_FLAGS_WITHOUT_IMMUTABLE(flags) ((flags) & (~FS_IMMUTABLE_FL))
# define FS_FLAGS_WITH_IMMUTABLE(flags) ((flags) | FS_IMMUTABLE_FL)
+# define FS_FLAGS_CONTAIN_APPEND(flags) (((flags) & FS_APPEND_FL) != 0)
+# define FS_FLAGS_WITHOUT_APPEND(flags) ((flags) & (~FS_APPEND_FL))
+# define FS_FLAGS_WITH_APPEND(flags) ((flags) | (FS_APPEND_FL))
+
#endif