mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-28 10:02:14 +00:00
FIX: Incorrect directory attributes when extract .zip archive (Posix)
This commit is contained in:
parent
b0924874e7
commit
d712d7c2e3
2 changed files with 12 additions and 2 deletions
|
|
@ -84,6 +84,15 @@ const
|
|||
S_ISGID = $0400;
|
||||
S_ISVTX = $0200;
|
||||
|
||||
// Generic attributes
|
||||
{$IF DEFINED(MSWINDOWS)}
|
||||
GENERIC_ATTRIBUTE_FILE = FILE_ATTRIBUTE_ARCHIVE;
|
||||
GENERIC_ATTRIBUTE_FOLDER = GENERIC_ATTRIBUTE_FILE or FILE_ATTRIBUTE_DIRECTORY;
|
||||
{$ELSEIF DEFINED(UNIX)}
|
||||
GENERIC_ATTRIBUTE_FILE = S_IRUSR or S_IWUSR or S_IRGRP or S_IROTH;
|
||||
GENERIC_ATTRIBUTE_FOLDER = GENERIC_ATTRIBUTE_FILE or S_IFDIR or S_IXUGO;
|
||||
{$ENDIF}
|
||||
|
||||
function WinToUnixFileAttr(Attr: TFileAttrs): TFileAttrs;
|
||||
function UnixToWinFileAttr(Attr: TFileAttrs): TFileAttrs;
|
||||
function UnixToWinFileAttr(const FileName: String; Attr: TFileAttrs): TFileAttrs;
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ uses
|
|||
LazUTF8, uDebug, DCStrUtils, uDCUtils, uGlobs, DCOSUtils, uOSUtils, uShowMsg,
|
||||
DCDateTimeUtils, uLng, uLog,
|
||||
DCConvertEncoding,
|
||||
DCFileAttributes,
|
||||
FileUtil, uCryptProc,
|
||||
uWcxArchiveListOperation,
|
||||
uWcxArchiveCopyInOperation,
|
||||
|
|
@ -703,7 +704,7 @@ begin
|
|||
if (NameLength > 0) and (Header.FileName[NameLength] = PathDelim) then
|
||||
begin
|
||||
Delete(Header.FileName, NameLength, 1);
|
||||
Header.FileAttr := Header.FileAttr or faFolder;
|
||||
Header.FileAttr := Header.FileAttr or GENERIC_ATTRIBUTE_FOLDER;
|
||||
end;
|
||||
|
||||
//**********************************************************************
|
||||
|
|
@ -741,7 +742,7 @@ begin
|
|||
try
|
||||
Header.FileName := AllDirsList.List[I]^.Key;
|
||||
Header.ArcName := ArchiveFileName;
|
||||
Header.FileAttr := faFolder;
|
||||
Header.FileAttr := GENERIC_ATTRIBUTE_FOLDER;
|
||||
{$IFDEF MSWINDOWS}
|
||||
WinToDosTime(mbFileAge(ArchiveFileName), Header.FileTime);
|
||||
{$ELSE}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue