diff options
author | elfmz <fenix1905@tut.by> | 2021-10-05 01:14:52 +0300 |
---|---|---|
committer | elfmz <fenix1905@tut.by> | 2021-10-05 01:14:52 +0300 |
commit | 68ebe9dcbb407f943c2e975e5c73de8aaa84793e (patch) | |
tree | 4e3e5576167d15aa81b4fa714c27cb2f596c57c6 /multiarc | |
parent | 16e8f1b28b0d081f0386a61131e599c3e8c5dba1 (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.cpp | 5 |
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; |