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>2021-10-05 01:14:52 +0300
committerelfmz <fenix1905@tut.by>2021-10-05 01:14:52 +0300
commit68ebe9dcbb407f943c2e975e5c73de8aaa84793e (patch)
tree4e3e5576167d15aa81b4fa714c27cb2f596c57c6 /multiarc
parent16e8f1b28b0d081f0386a61131e599c3e8c5dba1 (diff)
ma/arj: use AccessMode field as file mode if file created under UNIX (fix #1094)
Diffstat (limited to 'multiarc')
-rw-r--r--multiarc/src/formats/arj/arj.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/multiarc/src/formats/arj/arj.cpp b/multiarc/src/formats/arj/arj.cpp
index c3a3baf8..4ddcf468 100644
--- a/multiarc/src/formats/arj/arj.cpp
+++ b/multiarc/src/formats/arj/arj.cpp
@@ -335,7 +335,10 @@ int WINAPI _export ARJ_GetArcItem(struct PluginPanelItem *Item,struct ArcItemInf
Info->DictSize=32;
Item->CRC32=ArjHeader.CRC;
- Item->FindData.dwFileAttributes=ArjHeader.AccessMode & 0x3f;
+ if (ArjHeader.HostOS == 2 || ArjHeader.HostOS == 4)
+ Item->FindData.dwUnixMode=ArjHeader.AccessMode & 0777;
+ else
+ Item->FindData.dwFileAttributes=ArjHeader.AccessMode & 0x3f;
Item->FindData.nPhysicalSize=ArjHeader.PackSize;
Item->FindData.nFileSize=ArjHeader.UnpSize;