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

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pavlov <ipavlov@users.sourceforge.net>2014-11-23 03:00:00 +0300
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:16:51 +0300
commitf08f4dcc3c02464c17753b3feafcfe5243b9e236 (patch)
treeb0e1b15bc5368d92dff422e8ec0818564a2b00b8 /CPP/7zip/Bundles
parent83f8ddcc5b2161e1e3c49666265257fca8aeb12c (diff)
9.349.34
Diffstat (limited to 'CPP/7zip/Bundles')
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/Alone.dsp121
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/Alone.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/afxres.h0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/makefile114
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone7z/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone7z/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone7z/makefile104
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Alone7z/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/FM.dsp126
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/FM.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/StdAfx.h15
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/makefile476
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Fm/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7z/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7z/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7z/makefile53
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7z/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtract/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtract/makefile49
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtract/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtractR/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtractR/makefile43
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zExtractR/resource.rc0
-rw-r--r--CPP/7zip/Bundles/Format7zF/Arc.mak275
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/Format7z.dsp230
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/Format7z.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/makefile362
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zF/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zR/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zR/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zR/makefile45
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/Format7zR/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp77
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp8
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/StdAfx.h2
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/makefile38
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/LzmaCon/makefile.gcc4
-rw-r--r--CPP/7zip/Bundles/LzmaCon/resource.rc3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/7z.icobin1078 -> 1078 bytes
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/SFXCon.dsp42
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/SFXCon.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/SfxCon.cpp (renamed from CPP/7zip/Bundles/SFXCon/Main.cpp)156
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/StdAfx.h3
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/makefile66
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXCon/resource.rc0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp (renamed from CPP/7zip/Bundles/SFXSetup/ExtractCallback.cpp)29
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h (renamed from CPP/7zip/Bundles/SFXSetup/ExtractCallback.h)16
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp35
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/ExtractEngine.h0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp30
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp (renamed from CPP/7zip/Bundles/SFXSetup/Main.cpp)91
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/StdAfx.h7
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/makefile66
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/resource.h10
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/resource.rc8
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXSetup/setup.icobin1078 -> 1078 bytes
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/7z.icobin1078 -> 1078 bytes
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/SFXWin.dsp80
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/SFXWin.dsw0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/SfxWin.cpp (renamed from CPP/7zip/Bundles/SFXWin/Main.cpp)109
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/StdAfx.cpp0
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/StdAfx.h6
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/makefile84
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/resource.h2
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/SFXWin/resource.rc31
-rw-r--r--[-rwxr-xr-x]CPP/7zip/Bundles/makefile0
79 files changed, 1192 insertions, 1845 deletions
diff --git a/CPP/7zip/Bundles/Alone/Alone.dsp b/CPP/7zip/Bundles/Alone/Alone.dsp
index 5e0e3e51..017a3f1b 100755..100644
--- a/CPP/7zip/Bundles/Alone/Alone.dsp
+++ b/CPP/7zip/Bundles/Alone/Alone.dsp
@@ -44,7 +44,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gz /MT /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "_MBCS" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MT /W4 /WX /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "_MBCS" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
# ADD BASE RSC /l 0x419 /d "NDEBUG"
# ADD RSC /l 0x419 /d "NDEBUG"
BSC32=bscmake.exe
@@ -52,7 +52,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"c:\UTIL\7za.exe" /opt:NOWIN98
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"c:\UTIL\7za.exe" /opt:NOWIN98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "Alone - Win32 Debug"
@@ -69,7 +69,8 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_MBCS" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MDd /W4 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_MBCS" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
+# SUBTRACT CPP /WX
# ADD BASE RSC /l 0x419 /d "_DEBUG"
# ADD RSC /l 0x419 /d "_DEBUG"
BSC32=bscmake.exe
@@ -77,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"c:\UTIL\7za.exe" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"c:\UTIL\7za.exe" /pdbtype:sept
!ELSEIF "$(CFG)" == "Alone - Win32 ReleaseU"
@@ -94,7 +95,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "EXCLUDE_COM" /D "NO_REGISTRY" /Yu"StdAfx.h" /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
# ADD BASE RSC /l 0x419 /d "NDEBUG"
# ADD RSC /l 0x419 /d "NDEBUG"
BSC32=bscmake.exe
@@ -103,7 +104,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"c:\UTIL\7za.exe" /opt:NOWIN98
# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"c:\UTIL\7zan.exe" /opt:NOWIN98
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"c:\UTIL\7zan.exe" /opt:NOWIN98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "Alone - Win32 DebugU"
@@ -121,7 +122,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "EXCLUDE_COM" /D "NO_REGISTRY" /D "_MBCS" /Yu"StdAfx.h" /FD /GZ /c
-# ADD CPP /nologo /Gz /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MDd /W4 /WX /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D "_CONSOLE" /D "_7ZIP_LARGE_PAGES" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE RSC /l 0x419 /d "_DEBUG"
# ADD RSC /l 0x419 /d "_DEBUG"
BSC32=bscmake.exe
@@ -129,7 +130,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"c:\UTIL\7za.exe" /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"c:\UTIL\7zan.exe" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"c:\UTIL\7zan.exe" /pdbtype:sept
!ENDIF
@@ -176,6 +177,14 @@ SOURCE=..\..\UI\Console\ExtractCallbackConsole.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\Console\HashCon.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\Console\HashCon.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\Console\List.cpp
# End Source File
# Begin Source File
@@ -269,6 +278,10 @@ SOURCE=..\..\..\Common\CRC.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\CrcReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\Defs.h
# End Source File
# Begin Source File
@@ -337,6 +350,10 @@ SOURCE=..\..\..\Common\NewHandler.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\Sha256Reg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\StdInStream.cpp
# End Source File
# Begin Source File
@@ -387,6 +404,10 @@ SOURCE=..\..\..\Common\Wildcard.cpp
SOURCE=..\..\..\Common\Wildcard.h
# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\XzCrc64Reg.cpp
+# End Source File
# End Group
# Begin Group "Windows"
@@ -409,11 +430,11 @@ SOURCE=..\..\..\Windows\DLL.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.cpp
+SOURCE=..\..\..\Windows\ErrorMsg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.h
+SOURCE=..\..\..\Windows\ErrorMsg.h
# End Source File
# Begin Source File
@@ -449,6 +470,14 @@ SOURCE=..\..\..\Windows\FileName.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Windows\FileSystem.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Windows\FileSystem.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\Handle.h
# End Source File
# Begin Source File
@@ -469,11 +498,11 @@ SOURCE=..\..\..\Windows\PropVariant.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.cpp
+SOURCE=..\..\..\Windows\PropVariantConv.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.h
+SOURCE=..\..\..\Windows\PropVariantConv.h
# End Source File
# Begin Source File
@@ -497,11 +526,11 @@ SOURCE=..\..\..\Windows\Thread.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.cpp
+SOURCE=..\..\..\Windows\TimeUtils.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.h
+SOURCE=..\..\..\Windows\TimeUtils.h
# End Source File
# End Group
# Begin Group "7zip Common"
@@ -649,6 +678,18 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\RegisterArc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\RegisterCodec.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\StreamBinder.cpp
# End Source File
# Begin Source File
@@ -673,6 +714,14 @@ SOURCE=..\..\Common\StreamUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\UniqBlocks.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\UniqBlocks.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\VirtThread.cpp
# End Source File
# Begin Source File
@@ -1404,10 +1453,6 @@ SOURCE=..\..\Archive\Zip\ZipHandlerOut.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Zip\ZipHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Zip\ZipHeader.h
# End Source File
# Begin Source File
@@ -1685,6 +1730,14 @@ SOURCE=..\..\UI\Common\ExtractingFilePath.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\Common\HashCalc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\Common\HashCalc.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\Common\LoadCodecs.cpp
# End Source File
# Begin Source File
@@ -1853,6 +1906,10 @@ SOURCE=..\..\Crypto\MyAes.h
# End Source File
# Begin Source File
+SOURCE=..\..\Crypto\MyAesReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Crypto\Pbkdf2HmacSha1.cpp
!IF "$(CFG)" == "Alone - Win32 Release"
@@ -1905,6 +1962,10 @@ SOURCE=..\..\Crypto\Sha1.h
# End Source File
# Begin Source File
+SOURCE=..\..\Crypto\Sha1Reg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Crypto\WzAes.cpp
# End Source File
# Begin Source File
@@ -2035,6 +2096,30 @@ SOURCE=..\..\..\..\C\XzCrc64.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\XzCrc64Opt.c
+
+!IF "$(CFG)" == "Alone - Win32 Release"
+
+# ADD CPP /O2
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "Alone - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "Alone - Win32 ReleaseU"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "Alone - Win32 DebugU"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\XzDec.c
!IF "$(CFG)" == "Alone - Win32 Release"
diff --git a/CPP/7zip/Bundles/Alone/Alone.dsw b/CPP/7zip/Bundles/Alone/Alone.dsw
index 65eca43f..65eca43f 100755..100644
--- a/CPP/7zip/Bundles/Alone/Alone.dsw
+++ b/CPP/7zip/Bundles/Alone/Alone.dsw
diff --git a/CPP/7zip/Bundles/Alone/StdAfx.cpp b/CPP/7zip/Bundles/Alone/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Alone/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Alone/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Alone/StdAfx.h b/CPP/7zip/Bundles/Alone/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Alone/StdAfx.h
+++ b/CPP/7zip/Bundles/Alone/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Alone/afxres.h b/CPP/7zip/Bundles/Alone/afxres.h
index c2fadd4a..c2fadd4a 100755..100644
--- a/CPP/7zip/Bundles/Alone/afxres.h
+++ b/CPP/7zip/Bundles/Alone/afxres.h
diff --git a/CPP/7zip/Bundles/Alone/makefile b/CPP/7zip/Bundles/Alone/makefile
index a99c61ec..15139714 100755..100644
--- a/CPP/7zip/Bundles/Alone/makefile
+++ b/CPP/7zip/Bundles/Alone/makefile
@@ -1,26 +1,16 @@
PROG = 7za.exe
MY_CONSOLE = 1
-CFLAGS = $(CFLAGS) -I ../../../
+CFLAGS = $(CFLAGS)
!IFNDEF UNDER_CE
CFLAGS = $(CFLAGS) -DWIN_LONG_PATH -D_7ZIP_LARGE_PAGES -DSUPPORT_DEVICE_FILE
!ENDIF
-CONSOLE_OBJS = \
- $O\BenchCon.obj \
- $O\ConsoleClose.obj \
- $O\ExtractCallbackConsole.obj \
- $O\List.obj \
- $O\Main.obj \
- $O\MainAr.obj \
- $O\OpenCallbackConsole.obj \
- $O\PercentPrinter.obj \
- $O\UpdateCallbackConsole.obj \
- $O\UserInputUtils.obj \
COMMON_OBJS = \
$O\CommandLineParser.obj \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\ListFileUtils.obj \
$O\NewHandler.obj \
@@ -32,20 +22,24 @@ COMMON_OBJS = \
$O\UTFConvert.obj \
$O\MyVector.obj \
$O\Wildcard.obj \
+ $O\XzCrc64Reg.obj \
+ $O\Sha256Reg.obj \
WIN_OBJS = \
$O\DLL.obj \
- $O\Error.obj \
+ $O\ErrorMsg.obj \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
+ $O\FileLink.obj \
$O\FileName.obj \
+ $O\FileSystem.obj \
$O\MemoryLock.obj \
$O\PropVariant.obj \
- $O\PropVariantConversions.obj \
+ $O\PropVariantConv.obj \
$O\Synchronization.obj \
$O\System.obj \
- $O\Time.obj \
+ $O\TimeUtils.obj \
7ZIP_COMMON_OBJS = \
$O\CreateCoder.obj \
@@ -65,32 +59,13 @@ WIN_OBJS = \
$O\OutMemStream.obj \
$O\ProgressMt.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
+ $O\UniqBlocks.obj \
$O\VirtThread.obj \
-UI_COMMON_OBJS = \
- $O\ArchiveCommandLine.obj \
- $O\ArchiveExtractCallback.obj \
- $O\ArchiveOpenCallback.obj \
- $O\Bench.obj \
- $O\DefaultName.obj \
- $O\EnumDirItems.obj \
- $O\Extract.obj \
- $O\ExtractingFilePath.obj \
- $O\LoadCodecs.obj \
- $O\OpenArchive.obj \
- $O\PropIDUtils.obj \
- $O\SetProperties.obj \
- $O\SortUtils.obj \
- $O\TempFiles.obj \
- $O\Update.obj \
- $O\UpdateAction.obj \
- $O\UpdateCallback.obj \
- $O\UpdatePair.obj \
- $O\UpdateProduce.obj \
-
AR_OBJS = \
$O\Bz2Handler.obj \
$O\DeflateProps.obj \
@@ -151,7 +126,6 @@ ZIP_OBJS = \
$O\ZipAddCommon.obj \
$O\ZipHandler.obj \
$O\ZipHandlerOut.obj \
- $O\ZipHeader.obj \
$O\ZipIn.obj \
$O\ZipItem.obj \
$O\ZipOut.obj \
@@ -204,9 +178,11 @@ CRYPTO_OBJS = \
$O\7zAesRegister.obj \
$O\HmacSha1.obj \
$O\MyAes.obj \
+ $O\MyAesReg.obj \
$O\Pbkdf2HmacSha1.obj \
$O\RandGen.obj \
$O\Sha1.obj \
+ $O\Sha1Reg.obj \
$O\WzAes.obj \
$O\ZipCrypto.obj \
$O\ZipStrong.obj \
@@ -238,70 +214,14 @@ C_OBJS = \
$O\Sort.obj \
$O\Threads.obj \
$O\Xz.obj \
- $O\XzCrc64.obj \
$O\XzDec.obj \
$O\XzEnc.obj \
$O\XzIn.obj \
+!include "../../UI/Console/Console.mak"
+
!include "../../Aes.mak"
!include "../../Crc.mak"
+!include "../../Crc64.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(COMMON_OBJS_O2) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(CAB_OBJS) \
- $(TAR_OBJS) \
- $(ZIP_OBJS) \
- $(COMPRESS_OBJS) \
- $(LZMA_BENCH_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
- $(COMPL)
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(CAB_OBJS): ../../Archive/Cab/$(*B).cpp
- $(COMPL)
-$(TAR_OBJS): ../../Archive/Tar/$(*B).cpp
- $(COMPL)
-$(ZIP_OBJS): ../../Archive/Zip/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL_O2)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Alone/resource.rc b/CPP/7zip/Bundles/Alone/resource.rc
index fc9063c1..fc9063c1 100755..100644
--- a/CPP/7zip/Bundles/Alone/resource.rc
+++ b/CPP/7zip/Bundles/Alone/resource.rc
diff --git a/CPP/7zip/Bundles/Alone7z/StdAfx.cpp b/CPP/7zip/Bundles/Alone7z/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Alone7z/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Alone7z/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Alone7z/StdAfx.h b/CPP/7zip/Bundles/Alone7z/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Alone7z/StdAfx.h
+++ b/CPP/7zip/Bundles/Alone7z/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Alone7z/makefile b/CPP/7zip/Bundles/Alone7z/makefile
index 8de884f7..9f7ef516 100755..100644
--- a/CPP/7zip/Bundles/Alone7z/makefile
+++ b/CPP/7zip/Bundles/Alone7z/makefile
@@ -1,52 +1,43 @@
PROG = 7zr.exe
MY_CONSOLE = 1
-CFLAGS = $(CFLAGS) -I ../../../ \
- -D_NO_CRYPTO \
+CFLAGS = $(CFLAGS) \
!IFNDEF UNDER_CE
CFLAGS = $(CFLAGS) -DWIN_LONG_PATH
!ENDIF
-CONSOLE_OBJS = \
- $O\BenchCon.obj \
- $O\ConsoleClose.obj \
- $O\ExtractCallbackConsole.obj \
- $O\List.obj \
- $O\Main.obj \
- $O\MainAr.obj \
- $O\OpenCallbackConsole.obj \
- $O\PercentPrinter.obj \
- $O\UpdateCallbackConsole.obj \
- $O\UserInputUtils.obj \
-
COMMON_OBJS = \
$O\CommandLineParser.obj \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\ListFileUtils.obj \
$O\NewHandler.obj \
$O\StdInStream.obj \
$O\StdOutStream.obj \
$O\MyString.obj \
+ $O\Sha256Reg.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\UTFConvert.obj \
$O\MyVector.obj \
$O\Wildcard.obj \
+ $O\XzCrc64Reg.obj \
WIN_OBJS = \
$O\DLL.obj \
- $O\Error.obj \
+ $O\ErrorMsg.obj \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
+ $O\FileLink.obj \
$O\FileName.obj \
$O\MemoryLock.obj \
$O\PropVariant.obj \
- $O\PropVariantConversions.obj \
+ $O\PropVariantConv.obj \
$O\Synchronization.obj \
$O\System.obj \
- $O\Time.obj \
+ $O\TimeUtils.obj \
7ZIP_COMMON_OBJS = \
$O\CreateCoder.obj \
@@ -63,32 +54,13 @@ WIN_OBJS = \
$O\OffsetStream.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
+ $O\UniqBlocks.obj \
$O\VirtThread.obj \
-UI_COMMON_OBJS = \
- $O\ArchiveCommandLine.obj \
- $O\ArchiveExtractCallback.obj \
- $O\ArchiveOpenCallback.obj \
- $O\Bench.obj \
- $O\DefaultName.obj \
- $O\EnumDirItems.obj \
- $O\Extract.obj \
- $O\ExtractingFilePath.obj \
- $O\LoadCodecs.obj \
- $O\OpenArchive.obj \
- $O\PropIDUtils.obj \
- $O\SetProperties.obj \
- $O\SortUtils.obj \
- $O\TempFiles.obj \
- $O\Update.obj \
- $O\UpdateAction.obj \
- $O\UpdateCallback.obj \
- $O\UpdatePair.obj \
- $O\UpdateProduce.obj \
-
AR_OBJS = \
$O\LzmaHandler.obj \
$O\SplitHandler.obj \
@@ -143,6 +115,13 @@ COMPRESS_OBJS = \
$O\LzmaEncoder.obj \
$O\LzmaRegister.obj \
+CRYPTO_OBJS = \
+ $O\7zAes.obj \
+ $O\7zAesRegister.obj \
+ $O\MyAes.obj \
+ $O\MyAesReg.obj \
+ $O\RandGen.obj \
+
C_OBJS = \
$O\7zStream.obj \
$O\Alloc.obj \
@@ -159,54 +138,17 @@ C_OBJS = \
$O\LzmaEnc.obj \
$O\MtCoder.obj \
$O\Sha256.obj \
+ $O\Sort.obj \
$O\Threads.obj \
$O\Xz.obj \
- $O\XzCrc64.obj \
$O\XzDec.obj \
$O\XzEnc.obj \
$O\XzIn.obj \
-!include "../../Crc.mak"
-
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
+!include "../../UI/Console/Console.mak"
+!include "../../Aes.mak"
+!include "../../Crc.mak"
+!include "../../Crc64.mak"
-!include "../../../Build.mak"
-
-$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
- $(COMPL)
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Alone7z/resource.rc b/CPP/7zip/Bundles/Alone7z/resource.rc
index b3fb079a..b3fb079a 100755..100644
--- a/CPP/7zip/Bundles/Alone7z/resource.rc
+++ b/CPP/7zip/Bundles/Alone7z/resource.rc
diff --git a/CPP/7zip/Bundles/Fm/FM.dsp b/CPP/7zip/Bundles/Fm/FM.dsp
index dded8b1d..1f214b33 100755..100644
--- a/CPP/7zip/Bundles/Fm/FM.dsp
+++ b/CPP/7zip/Bundles/Fm/FM.dsp
@@ -45,7 +45,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "_MBCS" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "_MBCS" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -72,7 +72,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_MBCS" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MDd /W4 /WX /Gm /GX /ZI /Od /D "_DEBUG" /D "_MBCS" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "_DEBUG"
@@ -99,7 +99,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"StdAfx.h" /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -127,7 +127,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"StdAfx.h" /FD /GZ /c
-# ADD CPP /nologo /Gz /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MDd /W4 /WX /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "LANG" /D "WIN_LONG_PATH" /D "NEW_FOLDER_INTERFACE" /D "EXTERNAL_CODECS" /D "SUPPORT_DEVICE_FILE" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "_DEBUG"
@@ -493,6 +493,14 @@ SOURCE=..\..\UI\FileManager\DialogSize.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\FileManager\LinkDialog.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\LinkDialog.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\FileManager\ListViewDialog.cpp
# End Source File
# Begin Source File
@@ -629,6 +637,10 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\StreamObjects.cpp
# End Source File
# Begin Source File
@@ -643,6 +655,14 @@ SOURCE=..\..\Common\StreamUtils.cpp
SOURCE=..\..\Common\StreamUtils.h
# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\UniqBlocks.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\UniqBlocks.h
+# End Source File
# End Group
# Begin Group "C"
@@ -683,6 +703,10 @@ SOURCE=..\..\..\..\C\7zCrcOpt.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\7zTypes.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\Alloc.c
# SUBTRACT CPP /YX /Yc /Yu
# End Source File
@@ -887,11 +911,11 @@ SOURCE=..\..\..\Windows\DLL.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.cpp
+SOURCE=..\..\..\Windows\ErrorMsg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.h
+SOURCE=..\..\..\Windows\ErrorMsg.h
# End Source File
# Begin Source File
@@ -919,6 +943,10 @@ SOURCE=..\..\..\Windows\FileIO.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Windows\FileLink.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\FileMapping.h
# End Source File
# Begin Source File
@@ -943,11 +971,11 @@ SOURCE=..\..\..\Windows\Handle.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Memory.cpp
+SOURCE=..\..\..\Windows\MemoryGlobal.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Memory.h
+SOURCE=..\..\..\Windows\MemoryGlobal.h
# End Source File
# Begin Source File
@@ -975,11 +1003,11 @@ SOURCE=..\..\..\Windows\Net.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Process.cpp
+SOURCE=..\..\..\Windows\ProcessUtils.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Process.h
+SOURCE=..\..\..\Windows\ProcessUtils.h
# End Source File
# Begin Source File
@@ -991,11 +1019,11 @@ SOURCE=..\..\..\Windows\PropVariant.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.cpp
+SOURCE=..\..\..\Windows\PropVariantConv.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.h
+SOURCE=..\..\..\Windows\PropVariantConv.h
# End Source File
# Begin Source File
@@ -1015,11 +1043,11 @@ SOURCE=..\..\..\Windows\ResourceString.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Security.cpp
+SOURCE=..\..\..\Windows\SecurityUtils.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Security.h
+SOURCE=..\..\..\Windows\SecurityUtils.h
# End Source File
# Begin Source File
@@ -1051,15 +1079,11 @@ SOURCE=..\..\..\Windows\Thread.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.cpp
+SOURCE=..\..\..\Windows\TimeUtils.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Windows\Timer.h
+SOURCE=..\..\..\Windows\TimeUtils.h
# End Source File
# Begin Source File
@@ -1075,15 +1099,15 @@ SOURCE=..\..\..\Windows\Window.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\..\Common\Buffer.h
+SOURCE=..\..\..\Common\CommandLineParser.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Common\CommandLineParser.cpp
+SOURCE=..\..\..\Common\CommandLineParser.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Common\CommandLineParser.h
+SOURCE=..\..\..\Common\Common.h
# End Source File
# Begin Source File
@@ -1095,6 +1119,10 @@ SOURCE=..\..\..\Common\CRC.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\CrcReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\Defs.h
# End Source File
# Begin Source File
@@ -1123,6 +1151,14 @@ SOURCE=..\..\..\Common\Lang.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\LimitedStreams.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\LimitedStreams.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\ListFileUtils.cpp
# End Source File
# Begin Source File
@@ -1131,6 +1167,10 @@ SOURCE=..\..\..\Common\ListFileUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\MyBuffer.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\MyCom.h
# End Source File
# Begin Source File
@@ -1167,6 +1207,10 @@ SOURCE=..\..\..\Common\Random.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\Sha256Reg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\StringConvert.cpp
# End Source File
# Begin Source File
@@ -1183,14 +1227,6 @@ SOURCE=..\..\..\Common\StringToInt.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Common\TextConfig.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\TextConfig.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Common\Types.h
# End Source File
# Begin Source File
@@ -1326,6 +1362,14 @@ SOURCE=..\..\Common\FilterCoder.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\Common\HashCalc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\Common\HashCalc.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\Common\IFileExtractCallback.h
# End Source File
# Begin Source File
@@ -1558,6 +1602,14 @@ SOURCE=..\..\UI\GUI\ExtractGUI.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\GUI\HashGUI.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\GUI\HashGUI.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\GUI\UpdateCallbackGUI.cpp
# End Source File
# Begin Source File
@@ -1606,6 +1658,18 @@ SOURCE=..\..\IPassword.h
SOURCE=..\..\IProgress.h
# End Source File
# End Group
+# Begin Group "Crypto"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\Crypto\Sha1.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Crypto\Sha1.h
+# End Source File
+# End Group
# Begin Source File
SOURCE=..\..\UI\FileManager\7zFM.exe.manifest
diff --git a/CPP/7zip/Bundles/Fm/FM.dsw b/CPP/7zip/Bundles/Fm/FM.dsw
index 1c955d95..1c955d95 100755..100644
--- a/CPP/7zip/Bundles/Fm/FM.dsw
+++ b/CPP/7zip/Bundles/Fm/FM.dsw
diff --git a/CPP/7zip/Bundles/Fm/StdAfx.cpp b/CPP/7zip/Bundles/Fm/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Fm/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Fm/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Fm/StdAfx.h b/CPP/7zip/Bundles/Fm/StdAfx.h
index b09de592..d2301e48 100755..100644
--- a/CPP/7zip/Bundles/Fm/StdAfx.h
+++ b/CPP/7zip/Bundles/Fm/StdAfx.h
@@ -3,21 +3,14 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#define _WIN32_WINNT 0x0400
+// #define _WIN32_WINNT 0x0400
+#define _WIN32_WINNT 0x0500
+#define WINVER _WIN32_WINNT
-// it's for Windows NT supporting (MENUITEMINFOW)
-#define WINVER 0x0400
+#include "../../../Common/Common.h"
-#include <windows.h>
-#include <stdio.h>
#include <commctrl.h>
#include <ShlObj.h>
-#include <limits.h>
-#include <tchar.h>
#include <shlwapi.h>
-// #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
-
-#include "Common/NewHandler.h"
-
#endif
diff --git a/CPP/7zip/Bundles/Fm/makefile b/CPP/7zip/Bundles/Fm/makefile
index b8f9133f..fd211a1d 100755..100644
--- a/CPP/7zip/Bundles/Fm/makefile
+++ b/CPP/7zip/Bundles/Fm/makefile
@@ -1,5 +1,5 @@
PROG = 7zFM.exe
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DLANG \
-DNEW_FOLDER_INTERFACE \
-DEXTERNAL_CODECS \
@@ -11,121 +11,32 @@ LIBS = $(LIBS) comctl32.lib htmlhelp.lib comdlg32.lib Mpr.lib Gdi32.lib
CFLAGS = $(CFLAGS) -DWIN_LONG_PATH -DSUPPORT_DEVICE_FILE
!ENDIF
-FM_OBJS = \
- $O\App.obj \
- $O\BrowseDialog.obj \
- $O\ClassDefs.obj \
- $O\EnumFormatEtc.obj \
- $O\ExtractCallback.obj \
- $O\FileFolderPluginOpen.obj \
- $O\FilePlugins.obj \
- $O\FM.obj \
- $O\FoldersPage.obj \
- $O\FormatUtils.obj \
- $O\FSFolder.obj \
- $O\FSFolderCopy.obj \
- $O\HelpUtils.obj \
- $O\LangUtils.obj \
- $O\MenuPage.obj \
- $O\MyLoadMenu.obj \
- $O\OpenCallback.obj \
- $O\OptionsDialog.obj \
- $O\Panel.obj \
- $O\PanelCopy.obj \
- $O\PanelCrc.obj \
- $O\PanelDrag.obj \
- $O\PanelFolderChange.obj \
- $O\PanelItemOpen.obj \
- $O\PanelItems.obj \
- $O\PanelKey.obj \
- $O\PanelListNotify.obj \
- $O\PanelMenu.obj \
- $O\PanelOperations.obj \
- $O\PanelSelect.obj \
- $O\PanelSort.obj \
- $O\PanelSplitFile.obj \
- $O\ProgramLocation.obj \
- $O\PropertyName.obj \
- $O\RegistryAssociations.obj \
- $O\RegistryPlugins.obj \
- $O\RegistryUtils.obj \
- $O\RootFolder.obj \
- $O\SplitUtils.obj \
- $O\StringUtils.obj \
- $O\SysIconUtils.obj \
- $O\TextPairs.obj \
- $O\UpdateCallback100.obj \
- $O\ViewSettings.obj \
- $O\AboutDialog.obj \
- $O\ComboDialog.obj \
- $O\CopyDialog.obj \
- $O\EditPage.obj \
- $O\LangPage.obj \
- $O\ListViewDialog.obj \
- $O\MessagesDialog.obj \
- $O\OverwriteDialog.obj \
- $O\PasswordDialog.obj \
- $O\ProgressDialog2.obj \
- $O\SettingsPage.obj \
- $O\SplitDialog.obj \
- $O\SystemPage.obj \
+!include "../Format7zF/Arc.mak"
-COMMON_OBJS = \
+!include "../../UI/FileManager/FM.mak"
+
+COMMON_OBJS = $(COMMON_OBJS) \
$O\CommandLineParser.obj \
- $O\CRC.obj \
- $O\IntToString.obj \
$O\Lang.obj \
$O\ListFileUtils.obj \
- $O\MyMap.obj \
- $O\MyString.obj \
- $O\MyVector.obj \
- $O\MyXml.obj \
- $O\NewHandler.obj \
$O\Random.obj \
- $O\StringConvert.obj \
- $O\StringToInt.obj \
- $O\TextConfig.obj \
- $O\UTFConvert.obj \
- $O\Wildcard.obj \
-WIN_OBJS = \
+WIN_OBJS = $(WIN_OBJS) \
$O\Clipboard.obj \
+ $O\CommonDialog.obj \
$O\DLL.obj \
- $O\Error.obj \
- $O\FileDir.obj \
- $O\FileFind.obj \
- $O\FileIO.obj \
- $O\FileName.obj \
- $O\Memory.obj \
+ $O\ErrorMsg.obj \
+ $O\FileLink.obj \
+ $O\MemoryGlobal.obj \
$O\MemoryLock.obj \
$O\Menu.obj \
- $O\Process.obj \
- $O\PropVariant.obj \
- $O\PropVariantConversions.obj \
- $O\PropVariantUtils.obj \
+ $O\ProcessUtils.obj \
+ $O\PropVariantConv.obj \
$O\Registry.obj \
$O\ResourceString.obj \
$O\Shell.obj \
- $O\Synchronization.obj \
- $O\System.obj \
- $O\Time.obj \
$O\Window.obj \
-!IFNDEF UNDER_CE
-
-FM_OBJS = $(FM_OBJS) \
- $O\FSDrives.obj \
- $O\NetFolder.obj \
-
-WIN_OBJS = $(WIN_OBJS) \
- $O\CommonDialog.obj \
- $O\FileSystem.obj \
- $O\Net.obj \
- $O\Security.obj \
-
-!ENDIF
-
-
WIN_CTRL_OBJS = \
$O\ComboBox.obj \
$O\Dialog.obj \
@@ -133,73 +44,9 @@ WIN_CTRL_OBJS = \
$O\PropertyPage.obj \
$O\Window2.obj \
-7ZIP_COMMON_OBJS = \
- $O\CreateCoder.obj \
- $O\CWrappers.obj \
+7ZIP_COMMON_OBJS = $(7ZIP_COMMON_OBJS) \
$O\FilePathAutoRename.obj \
$O\FileStreams.obj \
- $O\FilterCoder.obj \
- $O\InBuffer.obj \
- $O\InOutTempBuffer.obj \
- $O\LimitedStreams.obj \
- $O\LockedStream.obj \
- $O\MemBlocks.obj \
- $O\MethodId.obj \
- $O\MethodProps.obj \
- $O\OffsetStream.obj \
- $O\OutBuffer.obj \
- $O\OutMemStream.obj \
- $O\ProgressMt.obj \
- $O\ProgressUtils.obj \
- $O\StreamBinder.obj \
- $O\StreamObjects.obj \
- $O\StreamUtils.obj \
- $O\VirtThread.obj \
-
-AR_OBJS = \
- $O\ArjHandler.obj \
- $O\Bz2Handler.obj \
- $O\CpioHandler.obj \
- $O\CramfsHandler.obj \
- $O\DebHandler.obj \
- $O\DeflateProps.obj \
- $O\DmgHandler.obj \
- $O\ElfHandler.obj \
- $O\FatHandler.obj \
- $O\FlvHandler.obj \
- $O\GzHandler.obj \
- $O\LzhHandler.obj \
- $O\LzmaHandler.obj \
- $O\MachoHandler.obj \
- $O\MbrHandler.obj \
- $O\MslzHandler.obj \
- $O\MubHandler.obj \
- $O\NtfsHandler.obj \
- $O\PeHandler.obj \
- $O\PpmdHandler.obj \
- $O\RpmHandler.obj \
- $O\SplitHandler.obj \
- $O\SquashfsHandler.obj \
- $O\SwfHandler.obj \
- $O\UefiHandler.obj \
- $O\VhdHandler.obj \
- $O\XarHandler.obj \
- $O\XzHandler.obj \
- $O\ZHandler.obj \
-
-AR_COMMON_OBJS = \
- $O\CoderMixer2.obj \
- $O\CoderMixer2MT.obj \
- $O\CrossThreadProgress.obj \
- $O\DummyOutStream.obj \
- $O\FindSignature.obj \
- $O\InStreamWithCRC.obj \
- $O\ItemNameUtils.obj \
- $O\MultiStream.obj \
- $O\OutStreamWithCRC.obj \
- $O\OutStreamWithSha1.obj \
- $O\HandlerOut.obj \
- $O\ParseProperties.obj \
UI_COMMON_OBJS = \
$O\ArchiveCommandLine.obj \
@@ -212,6 +59,7 @@ UI_COMMON_OBJS = \
$O\EnumDirItems.obj \
$O\Extract.obj \
$O\ExtractingFilePath.obj \
+ $O\HashCalc.obj \
$O\LoadCodecs.obj \
$O\OpenArchive.obj \
$O\PropIDUtils.obj \
@@ -226,15 +74,6 @@ UI_COMMON_OBJS = \
$O\WorkDir.obj \
$O\ZipRegistry.obj \
-AGENT_OBJS = \
- $O\Agent.obj \
- $O\AgentOut.obj \
- $O\AgentProxy.obj \
- $O\ArchiveFolder.obj \
- $O\ArchiveFolderOpen.obj \
- $O\ArchiveFolderOut.obj \
- $O\UpdateCallbackAgent.obj \
-
EXPLORER_OBJS = \
$O\ContextMenu.obj \
$O\MyMessages.obj \
@@ -245,292 +84,9 @@ GUI_OBJS = \
$O\CompressDialog.obj \
$O\ExtractDialog.obj \
$O\ExtractGUI.obj \
+ $O\HashGUI.obj \
$O\UpdateCallbackGUI.obj \
$O\UpdateGUI.obj \
-7Z_OBJS = \
- $O\7zCompressionMode.obj \
- $O\7zDecode.obj \
- $O\7zEncode.obj \
- $O\7zExtract.obj \
- $O\7zFolderInStream.obj \
- $O\7zFolderOutStream.obj \
- $O\7zHandler.obj \
- $O\7zHandlerOut.obj \
- $O\7zHeader.obj \
- $O\7zIn.obj \
- $O\7zOut.obj \
- $O\7zProperties.obj \
- $O\7zSpecStream.obj \
- $O\7zUpdate.obj \
- $O\7zRegister.obj \
-
-CAB_OBJS = \
- $O\CabBlockInStream.obj \
- $O\CabHandler.obj \
- $O\CabHeader.obj \
- $O\CabIn.obj \
- $O\CabRegister.obj \
-
-CHM_OBJS = \
- $O\ChmHandler.obj \
- $O\ChmHeader.obj \
- $O\ChmIn.obj \
- $O\ChmRegister.obj \
-
-COM_OBJS = \
- $O\ComHandler.obj \
- $O\ComIn.obj \
- $O\ComRegister.obj \
-
-HFS_OBJS = \
- $O\HfsHandler.obj \
- $O\HfsIn.obj \
- $O\HfsRegister.obj \
-
-ISO_OBJS = \
- $O\IsoHandler.obj \
- $O\IsoHeader.obj \
- $O\IsoIn.obj \
- $O\IsoRegister.obj \
-
-NSIS_OBJS = \
- $O\NsisDecode.obj \
- $O\NsisHandler.obj \
- $O\NsisIn.obj \
- $O\NsisRegister.obj \
-
-RAR_OBJS = \
- $O\RarHandler.obj \
- $O\RarHeader.obj \
- $O\RarIn.obj \
- $O\RarItem.obj \
- $O\RarVolumeInStream.obj \
- $O\RarRegister.obj \
-
-TAR_OBJS = \
- $O\TarHandler.obj \
- $O\TarHandlerOut.obj \
- $O\TarHeader.obj \
- $O\TarIn.obj \
- $O\TarOut.obj \
- $O\TarUpdate.obj \
- $O\TarRegister.obj \
-
-UDF_OBJS = \
- $O\UdfHandler.obj \
- $O\UdfIn.obj \
- $O\UdfRegister.obj \
-
-WIM_OBJS = \
- $O\WimHandler.obj \
- $O\WimHandlerOut.obj \
- $O\WimIn.obj \
- $O\WimRegister.obj \
-
-ZIP_OBJS = \
- $O\ZipAddCommon.obj \
- $O\ZipHandler.obj \
- $O\ZipHandlerOut.obj \
- $O\ZipHeader.obj \
- $O\ZipIn.obj \
- $O\ZipItem.obj \
- $O\ZipOut.obj \
- $O\ZipUpdate.obj \
- $O\ZipRegister.obj \
-
-COMPRESS_OBJS = \
- $O\ArjDecoder1.obj \
- $O\ArjDecoder2.obj \
- $O\Bcj2Coder.obj \
- $O\Bcj2Register.obj \
- $O\BcjCoder.obj \
- $O\BcjRegister.obj \
- $O\BitlDecoder.obj \
- $O\BranchCoder.obj \
- $O\BranchMisc.obj \
- $O\BranchRegister.obj \
- $O\ByteSwap.obj \
- $O\BZip2Crc.obj \
- $O\BZip2Decoder.obj \
- $O\BZip2Encoder.obj \
- $O\BZip2Register.obj \
- $O\CopyCoder.obj \
- $O\CopyRegister.obj \
- $O\Deflate64Register.obj \
- $O\DeflateDecoder.obj \
- $O\DeflateEncoder.obj \
- $O\DeflateRegister.obj \
- $O\DeltaFilter.obj \
- $O\ImplodeDecoder.obj \
- $O\ImplodeHuffmanDecoder.obj \
- $O\LzhDecoder.obj \
- $O\Lzma2Decoder.obj \
- $O\Lzma2Encoder.obj \
- $O\Lzma2Register.obj \
- $O\LzmaDecoder.obj \
- $O\LzmaEncoder.obj \
- $O\LzmaRegister.obj \
- $O\LzOutWindow.obj \
- $O\Lzx86Converter.obj \
- $O\LzxDecoder.obj \
- $O\PpmdDecoder.obj \
- $O\PpmdEncoder.obj \
- $O\PpmdRegister.obj \
- $O\PpmdZip.obj \
- $O\QuantumDecoder.obj \
- $O\Rar1Decoder.obj \
- $O\Rar2Decoder.obj \
- $O\Rar3Decoder.obj \
- $O\Rar3Vm.obj \
- $O\RarCodecsRegister.obj \
- $O\ShrinkDecoder.obj \
- $O\ZlibDecoder.obj \
- $O\ZlibEncoder.obj \
- $O\ZDecoder.obj \
-
-CRYPTO_OBJS = \
- $O\7zAes.obj \
- $O\7zAesRegister.obj \
- $O\HmacSha1.obj \
- $O\MyAes.obj \
- $O\Pbkdf2HmacSha1.obj \
- $O\RandGen.obj \
- $O\Rar20Crypto.obj \
- $O\RarAes.obj \
- $O\Sha1.obj \
- $O\WzAes.obj \
- $O\ZipCrypto.obj \
- $O\ZipStrong.obj \
-
-
-C_OBJS = \
- $O\7zBuf2.obj \
- $O\7zStream.obj \
- $O\Alloc.obj \
- $O\Bra.obj \
- $O\Bra86.obj \
- $O\BraIA64.obj \
- $O\BwtSort.obj \
- $O\CpuArch.obj \
- $O\Delta.obj \
- $O\HuffEnc.obj \
- $O\LzFind.obj \
- $O\LzFindMt.obj \
- $O\Lzma2Dec.obj \
- $O\Lzma2Enc.obj \
- $O\LzmaDec.obj \
- $O\LzmaEnc.obj \
- $O\MtCoder.obj \
- $O\Ppmd7.obj \
- $O\Ppmd7Dec.obj \
- $O\Ppmd7Enc.obj \
- $O\Ppmd8.obj \
- $O\Ppmd8Dec.obj \
- $O\Ppmd8Enc.obj \
- $O\Sha256.obj \
- $O\Sort.obj \
- $O\Threads.obj \
- $O\Xz.obj \
- $O\XzCrc64.obj \
- $O\XzDec.obj \
- $O\XzEnc.obj \
- $O\XzIn.obj \
-
-!include "../../Aes.mak"
-!include "../../Crc.mak"
-
-OBJS = \
- $O\StdAfx.obj \
- $(FM_OBJS)\
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(WIN_CTRL_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(AGENT_OBJS) \
- $(EXPLORER_OBJS) \
- $(GUI_OBJS) \
- $(7Z_OBJS) \
- $(CAB_OBJS) \
- $(CHM_OBJS) \
- $(COM_OBJS) \
- $(HFS_OBJS) \
- $(ISO_OBJS) \
- $(NSIS_OBJS) \
- $(RAR_OBJS) \
- $(TAR_OBJS) \
- $(UDF_OBJS) \
- $(WIM_OBJS) \
- $(ZIP_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res \
-
-!include "../../../Build.mak"
-
-$(FM_OBJS): ../../UI/FileManager/$(*B).cpp
- $(COMPL)
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(CAB_OBJS): ../../Archive/Cab/$(*B).cpp
- $(COMPL)
-$(CHM_OBJS): ../../Archive/Chm/$(*B).cpp
- $(COMPL)
-$(COM_OBJS): ../../Archive/Com/$(*B).cpp
- $(COMPL)
-$(HFS_OBJS): ../../Archive/Hfs/$(*B).cpp
- $(COMPL)
-$(ISO_OBJS): ../../Archive/Iso/$(*B).cpp
- $(COMPL)
-$(NSIS_OBJS): ../../Archive/Nsis/$(*B).cpp
- $(COMPL)
-$(RAR_OBJS): ../../Archive/Rar/$(*B).cpp
- $(COMPL)
-$(TAR_OBJS): ../../Archive/Tar/$(*B).cpp
- $(COMPL)
-$(UDF_OBJS): ../../Archive/Udf/$(*B).cpp
- $(COMPL)
-$(WIM_OBJS): ../../Archive/Wim/$(*B).cpp
- $(COMPL)
-$(ZIP_OBJS): ../../Archive/Zip/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL_O2)
-
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(AGENT_OBJS): ../../UI/Agent/$(*B).cpp
- $(COMPL)
-$(EXPLORER_OBJS): ../../UI/Explorer/$(*B).cpp
- $(COMPL)
-$(GUI_OBJS): ../../UI/GUI/$(*B).cpp
- $(COMPL)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Fm/resource.rc b/CPP/7zip/Bundles/Fm/resource.rc
index dd2058a1..dd2058a1 100755..100644
--- a/CPP/7zip/Bundles/Fm/resource.rc
+++ b/CPP/7zip/Bundles/Fm/resource.rc
diff --git a/CPP/7zip/Bundles/Format7z/StdAfx.cpp b/CPP/7zip/Bundles/Format7z/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Format7z/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Format7z/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Format7z/StdAfx.h b/CPP/7zip/Bundles/Format7z/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Format7z/StdAfx.h
+++ b/CPP/7zip/Bundles/Format7z/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Format7z/makefile b/CPP/7zip/Bundles/Format7z/makefile
index 3b04c5e7..01e63e67 100755..100644
--- a/CPP/7zip/Bundles/Format7z/makefile
+++ b/CPP/7zip/Bundles/Format7z/makefile
@@ -1,14 +1,16 @@
PROG = 7za.dll
DEF_FILE = ../../Archive/Archive2.def
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DDEFLATE_EXTRACT_ONLY \
-DBZIP2_EXTRACT_ONLY \
COMMON_OBJS = \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
+ $O\Sha256Reg.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\MyVector.obj \
@@ -18,6 +20,7 @@ WIN_OBJS = \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
+ $O\FileName.obj \
$O\PropVariant.obj \
$O\Synchronization.obj \
$O\System.obj \
@@ -34,9 +37,11 @@ WIN_OBJS = \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
+ $O\UniqBlocks.obj \
$O\VirtThread.obj \
AR_OBJS = \
@@ -85,12 +90,10 @@ COMPRESS_OBJS = \
$O\ByteSwap.obj \
$O\BZip2Crc.obj \
$O\BZip2Decoder.obj \
- $O\BZip2Encoder.obj \
$O\BZip2Register.obj \
$O\CopyCoder.obj \
$O\CopyRegister.obj \
$O\DeflateDecoder.obj \
- $O\DeflateEncoder.obj \
$O\DeflateRegister.obj \
$O\DeltaFilter.obj \
$O\Lzma2Decoder.obj \
@@ -108,6 +111,7 @@ CRYPTO_OBJS = \
$O\7zAes.obj \
$O\7zAesRegister.obj \
$O\MyAes.obj \
+ $O\MyAesReg.obj \
$O\RandGen.obj \
C_OBJS = \
@@ -136,45 +140,4 @@ C_OBJS = \
!include "../../Aes.mak"
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL_O2)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Format7z/resource.rc b/CPP/7zip/Bundles/Format7z/resource.rc
index 2f2b42ae..2f2b42ae 100755..100644
--- a/CPP/7zip/Bundles/Format7z/resource.rc
+++ b/CPP/7zip/Bundles/Format7z/resource.rc
diff --git a/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp b/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Format7zExtract/StdAfx.h b/CPP/7zip/Bundles/Format7zExtract/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtract/StdAfx.h
+++ b/CPP/7zip/Bundles/Format7zExtract/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Format7zExtract/makefile b/CPP/7zip/Bundles/Format7zExtract/makefile
index 5598adc2..86a76e3d 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtract/makefile
+++ b/CPP/7zip/Bundles/Format7zExtract/makefile
@@ -1,13 +1,15 @@
PROG = 7zxa.dll
DEF_FILE = ../../Archive/Archive2.def
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DEXTRACT_ONLY \
COMMON_OBJS = \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
+ $O\Sha256Reg.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\MyVector.obj \
@@ -29,6 +31,7 @@ WIN_OBJS = \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
@@ -89,6 +92,7 @@ CRYPTO_OBJS = \
$O\7zAes.obj \
$O\7zAesRegister.obj \
$O\MyAes.obj \
+ $O\MyAesReg.obj \
C_OBJS = \
$O\Alloc.obj \
@@ -107,45 +111,4 @@ C_OBJS = \
!include "../../Aes.mak"
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL_O2)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak" \ No newline at end of file
diff --git a/CPP/7zip/Bundles/Format7zExtract/resource.rc b/CPP/7zip/Bundles/Format7zExtract/resource.rc
index 6a654615..6a654615 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtract/resource.rc
+++ b/CPP/7zip/Bundles/Format7zExtract/resource.rc
diff --git a/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp b/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h b/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h
+++ b/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Format7zExtractR/makefile b/CPP/7zip/Bundles/Format7zExtractR/makefile
index e953af90..7241b37c 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtractR/makefile
+++ b/CPP/7zip/Bundles/Format7zExtractR/makefile
@@ -1,11 +1,12 @@
PROG = 7zxr.dll
DEF_FILE = ../../Archive/Archive2.def
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DEXTRACT_ONLY \
-D_NO_CRYPTO
COMMON_OBJS = \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
@@ -30,6 +31,7 @@ WIN_OBJS = \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
@@ -92,41 +94,4 @@ C_OBJS = \
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Format7zExtractR/resource.rc b/CPP/7zip/Bundles/Format7zExtractR/resource.rc
index 149f58c4..149f58c4 100755..100644
--- a/CPP/7zip/Bundles/Format7zExtractR/resource.rc
+++ b/CPP/7zip/Bundles/Format7zExtractR/resource.rc
diff --git a/CPP/7zip/Bundles/Format7zF/Arc.mak b/CPP/7zip/Bundles/Format7zF/Arc.mak
new file mode 100644
index 00000000..c26a6d67
--- /dev/null
+++ b/CPP/7zip/Bundles/Format7zF/Arc.mak
@@ -0,0 +1,275 @@
+COMMON_OBJS = \
+ $O\CRC.obj \
+ $O\CrcReg.obj \
+ $O\DynLimBuf.obj \
+ $O\IntToString.obj \
+ $O\MyMap.obj \
+ $O\MyString.obj \
+ $O\MyVector.obj \
+ $O\MyXml.obj \
+ $O\NewHandler.obj \
+ $O\Sha256Reg.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\UTFConvert.obj \
+ $O\Wildcard.obj \
+ $O\XzCrc64Reg.obj \
+
+WIN_OBJS = \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantUtils.obj \
+ $O\Synchronization.obj \
+ $O\System.obj \
+ $O\TimeUtils.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\CreateCoder.obj \
+ $O\CWrappers.obj \
+ $O\InBuffer.obj \
+ $O\InOutTempBuffer.obj \
+ $O\FilterCoder.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\MemBlocks.obj \
+ $O\MethodId.obj \
+ $O\MethodProps.obj \
+ $O\OffsetStream.obj \
+ $O\OutBuffer.obj \
+ $O\OutMemStream.obj \
+ $O\ProgressMt.obj \
+ $O\ProgressUtils.obj \
+ $O\PropId.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+ $O\StreamUtils.obj \
+ $O\UniqBlocks.obj \
+ $O\VirtThread.obj \
+
+AR_OBJS = \
+ $O\ApmHandler.obj \
+ $O\ArHandler.obj \
+ $O\ArjHandler.obj \
+ $O\Bz2Handler.obj \
+ $O\ComHandler.obj \
+ $O\CpioHandler.obj \
+ $O\CramfsHandler.obj \
+ $O\DeflateProps.obj \
+ $O\DmgHandler.obj \
+ $O\ElfHandler.obj \
+ $O\FatHandler.obj \
+ $O\FlvHandler.obj \
+ $O\GzHandler.obj \
+ $O\HfsHandler.obj \
+ $O\IhexHandler.obj \
+ $O\LzhHandler.obj \
+ $O\LzmaHandler.obj \
+ $O\MachoHandler.obj \
+ $O\MbrHandler.obj \
+ $O\MslzHandler.obj \
+ $O\MubHandler.obj \
+ $O\NtfsHandler.obj \
+ $O\PeHandler.obj \
+ $O\PpmdHandler.obj \
+ $O\RpmHandler.obj \
+ $O\SplitHandler.obj \
+ $O\SquashfsHandler.obj \
+ $O\SwfHandler.obj \
+ $O\UefiHandler.obj \
+ $O\VhdHandler.obj \
+ $O\XarHandler.obj \
+ $O\XzHandler.obj \
+ $O\ZHandler.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\DummyOutStream.obj \
+ $O\FindSignature.obj \
+ $O\InStreamWithCRC.obj \
+ $O\ItemNameUtils.obj \
+ $O\MultiStream.obj \
+ $O\OutStreamWithCRC.obj \
+ $O\OutStreamWithSha1.obj \
+ $O\HandlerOut.obj \
+ $O\ParseProperties.obj \
+
+
+7Z_OBJS = \
+ $O\7zCompressionMode.obj \
+ $O\7zDecode.obj \
+ $O\7zEncode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderInStream.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHandlerOut.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zOut.obj \
+ $O\7zProperties.obj \
+ $O\7zSpecStream.obj \
+ $O\7zUpdate.obj \
+ $O\7zRegister.obj \
+
+CAB_OBJS = \
+ $O\CabBlockInStream.obj \
+ $O\CabHandler.obj \
+ $O\CabHeader.obj \
+ $O\CabIn.obj \
+ $O\CabRegister.obj \
+
+CHM_OBJS = \
+ $O\ChmHandler.obj \
+ $O\ChmIn.obj \
+
+ISO_OBJS = \
+ $O\IsoHandler.obj \
+ $O\IsoHeader.obj \
+ $O\IsoIn.obj \
+ $O\IsoRegister.obj \
+
+NSIS_OBJS = \
+ $O\NsisDecode.obj \
+ $O\NsisHandler.obj \
+ $O\NsisIn.obj \
+ $O\NsisRegister.obj \
+
+RAR_OBJS = \
+ $O\RarHandler.obj \
+
+TAR_OBJS = \
+ $O\TarHandler.obj \
+ $O\TarHandlerOut.obj \
+ $O\TarHeader.obj \
+ $O\TarIn.obj \
+ $O\TarOut.obj \
+ $O\TarUpdate.obj \
+ $O\TarRegister.obj \
+
+UDF_OBJS = \
+ $O\UdfHandler.obj \
+ $O\UdfIn.obj \
+
+WIM_OBJS = \
+ $O\WimHandler.obj \
+ $O\WimHandlerOut.obj \
+ $O\WimIn.obj \
+ $O\WimRegister.obj \
+
+ZIP_OBJS = \
+ $O\ZipAddCommon.obj \
+ $O\ZipHandler.obj \
+ $O\ZipHandlerOut.obj \
+ $O\ZipIn.obj \
+ $O\ZipItem.obj \
+ $O\ZipOut.obj \
+ $O\ZipUpdate.obj \
+ $O\ZipRegister.obj \
+
+COMPRESS_OBJS = \
+ $O\ArjDecoder1.obj \
+ $O\ArjDecoder2.obj \
+ $O\Bcj2Coder.obj \
+ $O\Bcj2Register.obj \
+ $O\BcjCoder.obj \
+ $O\BcjRegister.obj \
+ $O\BitlDecoder.obj \
+ $O\BranchCoder.obj \
+ $O\BranchMisc.obj \
+ $O\BranchRegister.obj \
+ $O\ByteSwap.obj \
+ $O\BZip2Crc.obj \
+ $O\BZip2Decoder.obj \
+ $O\BZip2Encoder.obj \
+ $O\BZip2Register.obj \
+ $O\CopyCoder.obj \
+ $O\CopyRegister.obj \
+ $O\Deflate64Register.obj \
+ $O\DeflateDecoder.obj \
+ $O\DeflateEncoder.obj \
+ $O\DeflateRegister.obj \
+ $O\DeltaFilter.obj \
+ $O\ImplodeDecoder.obj \
+ $O\ImplodeHuffmanDecoder.obj \
+ $O\LzhDecoder.obj \
+ $O\Lzma2Decoder.obj \
+ $O\Lzma2Encoder.obj \
+ $O\Lzma2Register.obj \
+ $O\LzmaDecoder.obj \
+ $O\LzmaEncoder.obj \
+ $O\LzmaRegister.obj \
+ $O\LzOutWindow.obj \
+ $O\Lzx86Converter.obj \
+ $O\LzxDecoder.obj \
+ $O\PpmdDecoder.obj \
+ $O\PpmdEncoder.obj \
+ $O\PpmdRegister.obj \
+ $O\PpmdZip.obj \
+ $O\QuantumDecoder.obj \
+ $O\Rar1Decoder.obj \
+ $O\Rar2Decoder.obj \
+ $O\Rar3Decoder.obj \
+ $O\Rar3Vm.obj \
+ $O\RarCodecsRegister.obj \
+ $O\ShrinkDecoder.obj \
+ $O\ZlibDecoder.obj \
+ $O\ZlibEncoder.obj \
+ $O\ZDecoder.obj \
+
+CRYPTO_OBJS = \
+ $O\7zAes.obj \
+ $O\7zAesRegister.obj \
+ $O\HmacSha1.obj \
+ $O\MyAes.obj \
+ $O\MyAesReg.obj \
+ $O\Pbkdf2HmacSha1.obj \
+ $O\RandGen.obj \
+ $O\Rar20Crypto.obj \
+ $O\RarAes.obj \
+ $O\Sha1.obj \
+ $O\Sha1Reg.obj \
+ $O\WzAes.obj \
+ $O\ZipCrypto.obj \
+ $O\ZipStrong.obj \
+
+
+C_OBJS = \
+ $O\7zBuf2.obj \
+ $O\7zStream.obj \
+ $O\Alloc.obj \
+ $O\Bra.obj \
+ $O\Bra86.obj \
+ $O\BraIA64.obj \
+ $O\BwtSort.obj \
+ $O\CpuArch.obj \
+ $O\Delta.obj \
+ $O\HuffEnc.obj \
+ $O\LzFind.obj \
+ $O\LzFindMt.obj \
+ $O\Lzma2Dec.obj \
+ $O\Lzma2Enc.obj \
+ $O\LzmaDec.obj \
+ $O\LzmaEnc.obj \
+ $O\MtCoder.obj \
+ $O\Ppmd7.obj \
+ $O\Ppmd7Dec.obj \
+ $O\Ppmd7Enc.obj \
+ $O\Ppmd8.obj \
+ $O\Ppmd8Dec.obj \
+ $O\Ppmd8Enc.obj \
+ $O\Sha256.obj \
+ $O\Sort.obj \
+ $O\Threads.obj \
+ $O\Xz.obj \
+ $O\XzDec.obj \
+ $O\XzEnc.obj \
+ $O\XzIn.obj \
+
+!include "../../Aes.mak"
+!include "../../Crc.mak"
+!include "../../Crc64.mak"
diff --git a/CPP/7zip/Bundles/Format7zF/Format7z.dsp b/CPP/7zip/Bundles/Format7zF/Format7z.dsp
index 5bf1277d..40f45455 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/Format7z.dsp
+++ b/CPP/7zip/Bundles/Format7zF/Format7z.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 1
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /Gr /MT /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /D "NO_REGISTRY" /D "EXTERNAL_CODECS" /D "_7ZIP_LARGE_PAGES" /FAs /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gr /MT /W4 /WX /GX /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /D "NO_REGISTRY" /D "EXTERNAL_CODECS" /D "_7ZIP_LARGE_PAGES" /FAs /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -70,7 +70,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 1
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gr /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\SDK" /I "..\..\..\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /D "NO_REGISTRY" /D "EXTERNAL_CODECS" /D "_7ZIP_LARGE_PAGES" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gr /MTd /W4 /WX /Gm /GX /ZI /Od /I "..\..\..\..\SDK" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MY7Z_EXPORTS" /D "NO_REGISTRY" /D "EXTERNAL_CODECS" /D "_7ZIP_LARGE_PAGES" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "_DEBUG"
@@ -230,7 +230,7 @@ SOURCE=.\StdAfx.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\..\Common\Buffer.h
+SOURCE=..\..\..\Common\Common.h
# End Source File
# Begin Source File
@@ -238,10 +238,22 @@ SOURCE=..\..\..\Common\CRC.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\CrcReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\DynamicBuffer.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\DynLimBuf.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\DynLimBuf.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\IntToString.cpp
# End Source File
# Begin Source File
@@ -250,6 +262,10 @@ SOURCE=..\..\..\Common\IntToString.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\MyBuffer.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\MyCom.h
# End Source File
# Begin Source File
@@ -278,6 +294,10 @@ SOURCE=..\..\..\Common\MyString.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\MyTypes.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\MyUnknown.h
# End Source File
# Begin Source File
@@ -290,6 +310,10 @@ SOURCE=..\..\..\Common\MyVector.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\MyWindows.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\MyWindows.h
# End Source File
# Begin Source File
@@ -310,6 +334,10 @@ SOURCE=..\..\..\Common\NewHandler.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\Sha256Reg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\StringConvert.cpp
# End Source File
# Begin Source File
@@ -326,10 +354,6 @@ SOURCE=..\..\..\Common\StringToInt.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Common\Types.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Common\UTFConvert.cpp
# End Source File
# Begin Source File
@@ -344,6 +368,10 @@ SOURCE=..\..\..\Common\Wildcard.cpp
SOURCE=..\..\..\Common\Wildcard.h
# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\XzCrc64Reg.cpp
+# End Source File
# End Group
# Begin Group "Compress"
@@ -830,6 +858,10 @@ SOURCE=..\..\Crypto\MyAes.h
# End Source File
# Begin Source File
+SOURCE=..\..\Crypto\MyAesReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Crypto\Pbkdf2HmacSha1.cpp
!IF "$(CFG)" == "7z - Win32 Release"
@@ -910,6 +942,10 @@ SOURCE=..\..\Crypto\Sha1.h
# End Source File
# Begin Source File
+SOURCE=..\..\Crypto\Sha1Reg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Crypto\WzAes.cpp
# End Source File
# Begin Source File
@@ -1078,6 +1114,10 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\RegisterArc.h
# End Source File
# Begin Source File
@@ -1110,6 +1150,14 @@ SOURCE=..\..\Common\StreamUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\UniqBlocks.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Common\UniqBlocks.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\VirtThread.cpp
# End Source File
# Begin Source File
@@ -1167,6 +1215,22 @@ SOURCE=..\..\..\..\C\XzCrc64.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\XzCrc64Opt.c
+
+!IF "$(CFG)" == "7z - Win32 Release"
+
+# ADD CPP /O2
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "7z - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\XzDec.c
!IF "$(CFG)" == "7z - Win32 Release"
@@ -1241,6 +1305,10 @@ SOURCE=..\..\..\..\C\7zStream.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\7zTypes.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\Aes.c
!IF "$(CFG)" == "7z - Win32 Release"
@@ -1342,6 +1410,10 @@ SOURCE=..\..\..\..\C\BwtSort.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\Compiler.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\CpuArch.c
# SUBTRACT CPP /YX /Yc /Yu
# End Source File
@@ -1621,6 +1693,10 @@ SOURCE=..\..\..\..\C\Ppmd8Enc.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\C\Precomp.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\C\RotateDefs.h
# End Source File
# Begin Source File
@@ -1665,16 +1741,16 @@ SOURCE=..\..\..\..\C\Sort.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\..\C\Threads.c
-# SUBTRACT CPP /YX /Yc /Yu
+SOURCE=..\..\..\..\C\StdAfx.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\..\C\Threads.h
+SOURCE=..\..\..\..\C\Threads.c
+# SUBTRACT CPP /YX /Yc /Yu
# End Source File
# Begin Source File
-SOURCE=..\..\..\..\C\Types.h
+SOURCE=..\..\..\..\C\Threads.h
# End Source File
# End Group
# Begin Group "Archive"
@@ -1813,40 +1889,12 @@ SOURCE=..\..\Archive\Rar\RarHandler.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Rar\RarHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Rar\RarHeader.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Rar\RarIn.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Rar\RarIn.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Rar\RarItem.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Rar\RarItem.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Rar\RarRegister.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Rar\RarVolumeInStream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Rar\RarVolumeInStream.h
-# End Source File
# End Group
# Begin Group "Cab"
@@ -1905,24 +1953,12 @@ SOURCE=..\..\Archive\Chm\ChmHandler.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Chm\ChmHeader.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Chm\ChmHeader.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Chm\ChmIn.cpp
# End Source File
# Begin Source File
SOURCE=..\..\Archive\Chm\ChmIn.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Chm\ChmRegister.cpp
-# End Source File
# End Group
# Begin Group "Archive common"
@@ -2169,10 +2205,6 @@ SOURCE=..\..\Archive\Zip\ZipHandlerOut.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Zip\ZipHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Zip\ZipHeader.h
# End Source File
# Begin Source File
@@ -2193,10 +2225,6 @@ SOURCE=..\..\Archive\Zip\ZipItem.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Zip\ZipItemEx.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Zip\ZipOut.cpp
# End Source File
# Begin Source File
@@ -2244,54 +2272,6 @@ SOURCE=..\..\Archive\Wim\WimIn.h
SOURCE=..\..\Archive\Wim\WimRegister.cpp
# End Source File
# End Group
-# Begin Group "Com"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\Archive\Com\ComHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Com\ComHandler.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Com\ComIn.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Com\ComIn.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Com\ComRegister.cpp
-# End Source File
-# End Group
-# Begin Group "Hfs"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\Archive\Hfs\HfsHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Hfs\HfsHandler.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Hfs\HfsIn.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Hfs\HfsIn.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Hfs\HfsRegister.cpp
-# End Source File
-# End Group
# Begin Group "Udf"
# PROP Default_Filter ""
@@ -2311,14 +2291,14 @@ SOURCE=..\..\Archive\Udf\UdfIn.cpp
SOURCE=..\..\Archive\Udf\UdfIn.h
# End Source File
+# End Group
# Begin Source File
-SOURCE=..\..\Archive\Udf\UdfRegister.cpp
+SOURCE=..\..\Archive\ApmHandler.cpp
# End Source File
-# End Group
# Begin Source File
-SOURCE=..\..\Archive\ApmHandler.cpp
+SOURCE=..\..\Archive\ArHandler.cpp
# End Source File
# Begin Source File
@@ -2330,15 +2310,15 @@ SOURCE=..\..\Archive\Bz2Handler.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\CpioHandler.cpp
+SOURCE=..\..\Archive\ComHandler.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\CramfsHandler.cpp
+SOURCE=..\..\Archive\CpioHandler.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\DebHandler.cpp
+SOURCE=..\..\Archive\CramfsHandler.cpp
# End Source File
# Begin Source File
@@ -2370,10 +2350,18 @@ SOURCE=..\..\Archive\GzHandler.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\Archive\HfsHandler.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Archive\IArchive.h
# End Source File
# Begin Source File
+SOURCE=..\..\Archive\IhexHandler.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Archive\LzhHandler.cpp
# End Source File
# Begin Source File
@@ -2488,6 +2476,10 @@ SOURCE=..\..\PropID.h
# PROP Default_Filter ""
# Begin Source File
+SOURCE=..\..\..\Windows\Defs.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\FileDir.cpp
# End Source File
# Begin Source File
@@ -2512,6 +2504,14 @@ SOURCE=..\..\..\Windows\FileIO.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Windows\FileName.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Windows\FileName.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\PropVariant.cpp
# End Source File
# Begin Source File
@@ -2548,11 +2548,11 @@ SOURCE=..\..\..\Windows\Thread.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.cpp
+SOURCE=..\..\..\Windows\TimeUtils.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Time.h
+SOURCE=..\..\..\Windows\TimeUtils.h
# End Source File
# End Group
# Begin Group "Asm"
diff --git a/CPP/7zip/Bundles/Format7zF/Format7z.dsw b/CPP/7zip/Bundles/Format7zF/Format7z.dsw
index 324dab1f..324dab1f 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/Format7z.dsw
+++ b/CPP/7zip/Bundles/Format7zF/Format7z.dsw
diff --git a/CPP/7zip/Bundles/Format7zF/StdAfx.cpp b/CPP/7zip/Bundles/Format7zF/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Format7zF/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Format7zF/StdAfx.h b/CPP/7zip/Bundles/Format7zF/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/StdAfx.h
+++ b/CPP/7zip/Bundles/Format7zF/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Format7zF/makefile b/CPP/7zip/Bundles/Format7zF/makefile
index 2601f1d6..97318dc6 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/makefile
+++ b/CPP/7zip/Bundles/Format7zF/makefile
@@ -1,370 +1,20 @@
PROG = 7z.dll
DEF_FILE = ../../Archive/Archive2.def
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DEXTERNAL_CODECS \
!IFNDEF UNDER_CE
CFLAGS = $(CFLAGS) -D_7ZIP_LARGE_PAGES
!ENDIF
-COMMON_OBJS = \
- $O\CRC.obj \
- $O\IntToString.obj \
- $O\MyMap.obj \
- $O\MyString.obj \
- $O\MyVector.obj \
- $O\MyXml.obj \
- $O\NewHandler.obj \
- $O\StringConvert.obj \
- $O\StringToInt.obj \
- $O\UTFConvert.obj \
- $O\Wildcard.obj \
+!include "Arc.mak"
-WIN_OBJS = \
- $O\FileDir.obj \
- $O\FileFind.obj \
- $O\FileIO.obj \
- $O\PropVariant.obj \
- $O\PropVariantUtils.obj \
- $O\Synchronization.obj \
- $O\System.obj \
- $O\Time.obj \
-
-7ZIP_COMMON_OBJS = \
- $O\CreateCoder.obj \
- $O\CWrappers.obj \
- $O\InBuffer.obj \
- $O\InOutTempBuffer.obj \
- $O\FilterCoder.obj \
- $O\LimitedStreams.obj \
- $O\LockedStream.obj \
- $O\MemBlocks.obj \
- $O\MethodId.obj \
- $O\MethodProps.obj \
- $O\OffsetStream.obj \
- $O\OutBuffer.obj \
- $O\OutMemStream.obj \
- $O\ProgressMt.obj \
- $O\ProgressUtils.obj \
- $O\StreamBinder.obj \
- $O\StreamObjects.obj \
- $O\StreamUtils.obj \
- $O\VirtThread.obj \
+COMPRESS_OBJS = $(COMPRESS_OBJS) \
+ $O\CodecExports.obj \
-AR_OBJS = \
+AR_OBJS = $(AR_OBJS) \
$O\ArchiveExports.obj \
$O\DllExports2.obj \
- $O\ApmHandler.obj \
- $O\ArjHandler.obj \
- $O\Bz2Handler.obj \
- $O\CpioHandler.obj \
- $O\CramfsHandler.obj \
- $O\DebHandler.obj \
- $O\DeflateProps.obj \
- $O\DmgHandler.obj \
- $O\ElfHandler.obj \
- $O\FatHandler.obj \
- $O\FlvHandler.obj \
- $O\GzHandler.obj \
- $O\LzhHandler.obj \
- $O\LzmaHandler.obj \
- $O\MachoHandler.obj \
- $O\MbrHandler.obj \
- $O\MslzHandler.obj \
- $O\MubHandler.obj \
- $O\NtfsHandler.obj \
- $O\PeHandler.obj \
- $O\PpmdHandler.obj \
- $O\RpmHandler.obj \
- $O\SplitHandler.obj \
- $O\SwfHandler.obj \
- $O\SquashfsHandler.obj \
- $O\UefiHandler.obj \
- $O\VhdHandler.obj \
- $O\XarHandler.obj \
- $O\XzHandler.obj \
- $O\ZHandler.obj \
-
-AR_COMMON_OBJS = \
- $O\CoderMixer2.obj \
- $O\CoderMixer2MT.obj \
- $O\CrossThreadProgress.obj \
- $O\DummyOutStream.obj \
- $O\FindSignature.obj \
- $O\InStreamWithCRC.obj \
- $O\ItemNameUtils.obj \
- $O\MultiStream.obj \
- $O\OutStreamWithCRC.obj \
- $O\OutStreamWithSha1.obj \
- $O\HandlerOut.obj \
- $O\ParseProperties.obj \
-
-
-7Z_OBJS = \
- $O\7zCompressionMode.obj \
- $O\7zDecode.obj \
- $O\7zEncode.obj \
- $O\7zExtract.obj \
- $O\7zFolderInStream.obj \
- $O\7zFolderOutStream.obj \
- $O\7zHandler.obj \
- $O\7zHandlerOut.obj \
- $O\7zHeader.obj \
- $O\7zIn.obj \
- $O\7zOut.obj \
- $O\7zProperties.obj \
- $O\7zSpecStream.obj \
- $O\7zUpdate.obj \
- $O\7zRegister.obj \
-
-CAB_OBJS = \
- $O\CabBlockInStream.obj \
- $O\CabHandler.obj \
- $O\CabHeader.obj \
- $O\CabIn.obj \
- $O\CabRegister.obj \
-
-CHM_OBJS = \
- $O\ChmHandler.obj \
- $O\ChmHeader.obj \
- $O\ChmIn.obj \
- $O\ChmRegister.obj \
-
-COM_OBJS = \
- $O\ComHandler.obj \
- $O\ComIn.obj \
- $O\ComRegister.obj \
-
-HFS_OBJS = \
- $O\HfsHandler.obj \
- $O\HfsIn.obj \
- $O\HfsRegister.obj \
-
-ISO_OBJS = \
- $O\IsoHandler.obj \
- $O\IsoHeader.obj \
- $O\IsoIn.obj \
- $O\IsoRegister.obj \
-
-NSIS_OBJS = \
- $O\NsisDecode.obj \
- $O\NsisHandler.obj \
- $O\NsisIn.obj \
- $O\NsisRegister.obj \
-
-RAR_OBJS = \
- $O\RarHandler.obj \
- $O\RarHeader.obj \
- $O\RarIn.obj \
- $O\RarItem.obj \
- $O\RarVolumeInStream.obj \
- $O\RarRegister.obj \
-
-TAR_OBJS = \
- $O\TarHandler.obj \
- $O\TarHandlerOut.obj \
- $O\TarHeader.obj \
- $O\TarIn.obj \
- $O\TarOut.obj \
- $O\TarUpdate.obj \
- $O\TarRegister.obj \
-
-UDF_OBJS = \
- $O\UdfHandler.obj \
- $O\UdfIn.obj \
- $O\UdfRegister.obj \
-
-WIM_OBJS = \
- $O\WimHandler.obj \
- $O\WimHandlerOut.obj \
- $O\WimIn.obj \
- $O\WimRegister.obj \
-
-ZIP_OBJS = \
- $O\ZipAddCommon.obj \
- $O\ZipHandler.obj \
- $O\ZipHandlerOut.obj \
- $O\ZipHeader.obj \
- $O\ZipIn.obj \
- $O\ZipItem.obj \
- $O\ZipOut.obj \
- $O\ZipUpdate.obj \
- $O\ZipRegister.obj \
-
-COMPRESS_OBJS = \
- $O\CodecExports.obj \
- $O\ArjDecoder1.obj \
- $O\ArjDecoder2.obj \
- $O\Bcj2Coder.obj \
- $O\Bcj2Register.obj \
- $O\BcjCoder.obj \
- $O\BcjRegister.obj \
- $O\BitlDecoder.obj \
- $O\BranchCoder.obj \
- $O\BranchMisc.obj \
- $O\BranchRegister.obj \
- $O\ByteSwap.obj \
- $O\BZip2Crc.obj \
- $O\BZip2Decoder.obj \
- $O\BZip2Encoder.obj \
- $O\BZip2Register.obj \
- $O\CopyCoder.obj \
- $O\CopyRegister.obj \
- $O\Deflate64Register.obj \
- $O\DeflateDecoder.obj \
- $O\DeflateEncoder.obj \
- $O\DeflateRegister.obj \
- $O\DeltaFilter.obj \
- $O\ImplodeDecoder.obj \
- $O\ImplodeHuffmanDecoder.obj \
- $O\LzhDecoder.obj \
- $O\Lzma2Decoder.obj \
- $O\Lzma2Encoder.obj \
- $O\Lzma2Register.obj \
- $O\LzmaDecoder.obj \
- $O\LzmaEncoder.obj \
- $O\LzmaRegister.obj \
- $O\LzOutWindow.obj \
- $O\Lzx86Converter.obj \
- $O\LzxDecoder.obj \
- $O\PpmdDecoder.obj \
- $O\PpmdEncoder.obj \
- $O\PpmdRegister.obj \
- $O\PpmdZip.obj \
- $O\QuantumDecoder.obj \
- $O\Rar1Decoder.obj \
- $O\Rar2Decoder.obj \
- $O\Rar3Decoder.obj \
- $O\Rar3Vm.obj \
- $O\RarCodecsRegister.obj \
- $O\ShrinkDecoder.obj \
- $O\ZlibDecoder.obj \
- $O\ZlibEncoder.obj \
- $O\ZDecoder.obj \
-
-CRYPTO_OBJS = \
- $O\7zAes.obj \
- $O\7zAesRegister.obj \
- $O\HmacSha1.obj \
- $O\MyAes.obj \
- $O\Pbkdf2HmacSha1.obj \
- $O\RandGen.obj \
- $O\Rar20Crypto.obj \
- $O\RarAes.obj \
- $O\Sha1.obj \
- $O\WzAes.obj \
- $O\ZipCrypto.obj \
- $O\ZipStrong.obj \
-
-
-C_OBJS = \
- $O\7zBuf2.obj \
- $O\7zStream.obj \
- $O\Alloc.obj \
- $O\Bra.obj \
- $O\Bra86.obj \
- $O\BraIA64.obj \
- $O\BwtSort.obj \
- $O\CpuArch.obj \
- $O\Delta.obj \
- $O\HuffEnc.obj \
- $O\LzFind.obj \
- $O\LzFindMt.obj \
- $O\Lzma2Dec.obj \
- $O\Lzma2Enc.obj \
- $O\LzmaDec.obj \
- $O\LzmaEnc.obj \
- $O\MtCoder.obj \
- $O\Ppmd7.obj \
- $O\Ppmd7Dec.obj \
- $O\Ppmd7Enc.obj \
- $O\Ppmd8.obj \
- $O\Ppmd8Dec.obj \
- $O\Ppmd8Enc.obj \
- $O\Sha256.obj \
- $O\Sort.obj \
- $O\Threads.obj \
- $O\Xz.obj \
- $O\XzCrc64.obj \
- $O\XzDec.obj \
- $O\XzEnc.obj \
- $O\XzIn.obj \
-
-!include "../../Aes.mak"
-!include "../../Crc.mak"
-
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(CAB_OBJS) \
- $(CHM_OBJS) \
- $(COM_OBJS) \
- $(HFS_OBJS) \
- $(ISO_OBJS) \
- $(NSIS_OBJS) \
- $(RAR_OBJS) \
- $(TAR_OBJS) \
- $(UDF_OBJS) \
- $(WIM_OBJS) \
- $(ZIP_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(CAB_OBJS): ../../Archive/Cab/$(*B).cpp
- $(COMPL)
-$(CHM_OBJS): ../../Archive/Chm/$(*B).cpp
- $(COMPL)
-$(COM_OBJS): ../../Archive/Com/$(*B).cpp
- $(COMPL)
-$(HFS_OBJS): ../../Archive/Hfs/$(*B).cpp
- $(COMPL)
-$(ISO_OBJS): ../../Archive/Iso/$(*B).cpp
- $(COMPL)
-$(NSIS_OBJS): ../../Archive/Nsis/$(*B).cpp
- $(COMPL)
-$(RAR_OBJS): ../../Archive/Rar/$(*B).cpp
- $(COMPL)
-$(TAR_OBJS): ../../Archive/Tar/$(*B).cpp
- $(COMPL)
-$(UDF_OBJS): ../../Archive/Udf/$(*B).cpp
- $(COMPL)
-$(WIM_OBJS): ../../Archive/Wim/$(*B).cpp
- $(COMPL)
-$(ZIP_OBJS): ../../Archive/Zip/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL_O2)
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Format7zF/resource.rc b/CPP/7zip/Bundles/Format7zF/resource.rc
index 1caf7301..1caf7301 100755..100644
--- a/CPP/7zip/Bundles/Format7zF/resource.rc
+++ b/CPP/7zip/Bundles/Format7zF/resource.rc
diff --git a/CPP/7zip/Bundles/Format7zR/StdAfx.cpp b/CPP/7zip/Bundles/Format7zR/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/Format7zR/StdAfx.cpp
+++ b/CPP/7zip/Bundles/Format7zR/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/Format7zR/StdAfx.h b/CPP/7zip/Bundles/Format7zR/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/Format7zR/StdAfx.h
+++ b/CPP/7zip/Bundles/Format7zR/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/Format7zR/makefile b/CPP/7zip/Bundles/Format7zR/makefile
index d7ffcea1..555654bc 100755..100644
--- a/CPP/7zip/Bundles/Format7zR/makefile
+++ b/CPP/7zip/Bundles/Format7zR/makefile
@@ -1,10 +1,11 @@
PROG = 7zra.dll
DEF_FILE = ../../Archive/Archive2.def
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-D_NO_CRYPTO
COMMON_OBJS = \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
@@ -17,6 +18,7 @@ WIN_OBJS = \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
+ $O\FileName.obj \
$O\PropVariant.obj \
$O\Synchronization.obj \
$O\System.obj \
@@ -33,9 +35,11 @@ WIN_OBJS = \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
+ $O\UniqBlocks.obj \
$O\VirtThread.obj \
AR_OBJS = \
@@ -109,41 +113,4 @@ C_OBJS = \
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(AR_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(AR_OBJS): ../../Archive/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/Format7zR/resource.rc b/CPP/7zip/Bundles/Format7zR/resource.rc
index a8baa596..a8baa596 100755..100644
--- a/CPP/7zip/Bundles/Format7zR/resource.rc
+++ b/CPP/7zip/Bundles/Format7zR/resource.rc
diff --git a/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp b/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp
index e0f4dcba..d321e454 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp
+++ b/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp
@@ -69,27 +69,25 @@ enum Enum
static const CSwitchForm kSwitchForms[] =
{
- { L"?", NSwitchType::kSimple, false },
- { L"H", NSwitchType::kSimple, false },
- { L"MM", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"X", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"A", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"D", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"FB", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"MC", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"LC", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"LP", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"PB", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"MF", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"MT", NSwitchType::kUnLimitedPostString, false, 0 },
- { L"EOS", NSwitchType::kSimple, false },
- { L"SI", NSwitchType::kSimple, false },
- { L"SO", NSwitchType::kSimple, false },
- { L"F86", NSwitchType::kPostChar, false, 0, 0, L"+" }
+ { "?", NSwitchType::kSimple, false },
+ { "H", NSwitchType::kSimple, false },
+ { "MM", NSwitchType::kString, false, 1 },
+ { "X", NSwitchType::kString, false, 1 },
+ { "A", NSwitchType::kString, false, 1 },
+ { "D", NSwitchType::kString, false, 1 },
+ { "FB", NSwitchType::kString, false, 1 },
+ { "MC", NSwitchType::kString, false, 1 },
+ { "LC", NSwitchType::kString, false, 1 },
+ { "LP", NSwitchType::kString, false, 1 },
+ { "PB", NSwitchType::kString, false, 1 },
+ { "MF", NSwitchType::kString, false, 1 },
+ { "MT", NSwitchType::kString, false, 0 },
+ { "EOS", NSwitchType::kSimple, false },
+ { "SI", NSwitchType::kSimple, false },
+ { "SO", NSwitchType::kSimple, false },
+ { "F86", NSwitchType::kChar, false, 0, "+" }
};
-static const int kNumSwitches = sizeof(kSwitchForms) / sizeof(kSwitchForms[0]);
-
static void PrintMessage(const char *s)
{
fputs(s, stderr);
@@ -138,19 +136,14 @@ static void WriteArgumentsToStringList(int numArgs, const char *args[], UStringV
static bool GetNumber(const wchar_t *s, UInt32 &value)
{
value = 0;
- if (MyStringLen(s) == 0)
+ if (*s == 0)
return false;
const wchar_t *end;
- UInt64 res = ConvertStringToUInt64(s, &end);
- if (*end != L'\0')
- return false;
- if (res > 0xFFFFFFFF)
- return false;
- value = UInt32(res);
- return true;
+ value = ConvertStringToUInt32(s, &end);
+ return *end == 0;
}
-static void ParseUInt32(const CParser &parser, int index, UInt32 &res)
+static void ParseUInt32(const CParser &parser, unsigned index, UInt32 &res)
{
if (parser[index].ThereIs)
if (!GetNumber(parser[index].PostStrings[0], res))
@@ -180,7 +173,8 @@ int main2(int numArgs, const char *args[])
UStringVector commandStrings;
WriteArgumentsToStringList(numArgs, args, commandStrings);
- CParser parser(kNumSwitches);
+
+ CParser parser(ARRAY_SIZE(kSwitchForms));
try
{
parser.ParseStrings(kSwitchForms, commandStrings);
@@ -197,7 +191,7 @@ int main2(int numArgs, const char *args[])
}
const UStringVector &nonSwitchStrings = parser.NonSwitchStrings;
- int paramIndex = 0;
+ unsigned paramIndex = 0;
if (paramIndex >= nonSwitchStrings.Size())
IncorrectCommand();
const UString &command = nonSwitchStrings[paramIndex++];
@@ -259,11 +253,11 @@ int main2(int numArgs, const char *args[])
IncorrectCommand();
CProperty prop;
prop.Name = L"m";
- prop.Value = s.Mid(1);
+ prop.Value = s.Ptr(1);
props.Add(prop);
}
- if (command.CompareNoCase(L"b") == 0)
+ if (MyStringCompareNoCase(command, L"b") == 0)
{
const UInt32 kNumDefaultItereations = 1;
UInt32 numIterations = kNumDefaultItereations;
@@ -288,9 +282,9 @@ int main2(int numArgs, const char *args[])
numThreads = 1;
bool encodeMode = false;
- if (command.CompareNoCase(L"e") == 0)
+ if (MyStringCompareNoCase(command, L"e") == 0)
encodeMode = true;
- else if (command.CompareNoCase(L"d") == 0)
+ else if (MyStringCompareNoCase(command, L"d") == 0)
encodeMode = false;
else
IncorrectCommand();
@@ -456,7 +450,7 @@ int main2(int numArgs, const char *args[])
NCoderPropID::kNumThreads,
NCoderPropID::kMatchFinderCycles,
};
- const int kNumPropsMax = sizeof(propIDs) / sizeof(propIDs[0]);
+ const unsigned kNumPropsMax = ARRAY_SIZE(propIDs);
PROPVARIANT props[kNumPropsMax];
for (int p = 0; p < 6; p++)
@@ -482,7 +476,7 @@ int main2(int numArgs, const char *args[])
props[9].vt = VT_UI4;
props[9].ulVal = (UInt32)mc;
- int numProps = kNumPropsMax;
+ unsigned numProps = kNumPropsMax;
if (!mcDefined)
numProps--;
@@ -512,7 +506,7 @@ int main2(int numArgs, const char *args[])
}
else if (result != S_OK)
{
- fprintf(stderr, "\nEncoder error = %X\n", (unsigned int)result);
+ fprintf(stderr, "\nEncoder error = %X\n", (unsigned)result);
return 1;
}
}
@@ -537,11 +531,18 @@ int main2(int numArgs, const char *args[])
for (int i = 0; i < 8; i++)
fileSize |= ((UInt64)header[kPropertiesSize + i]) << (8 * i);
- if (decoder->Code(inStream, outStream, 0, (fileSize == (UInt64)(Int64)-1) ? 0 : &fileSize, 0) != S_OK)
+ bool isSizeDefined = (fileSize != (UInt64)(Int64)-1);
+ HRESULT res = decoder->Code(inStream, outStream, 0, isSizeDefined ? &fileSize : NULL, 0) != S_OK;
+ if (res != S_OK)
{
PrintMessage("Decoder error");
return 1;
}
+ if (isSizeDefined && decoderSpec->GetOutputProcessedSize() != fileSize)
+ {
+ PrintMessage("Error: incorrect uncompressed size in header");
+ return 1;
+ }
}
if (outStreamSpec != NULL)
{
diff --git a/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp b/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp
index 6111aa7e..47f36c84 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp
+++ b/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gr /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gr /MD /W4 /WX /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"StdAfx.h" /FD /c
# ADD BASE RSC /l 0x419 /d "NDEBUG"
# ADD RSC /l 0x419 /d "NDEBUG"
BSC32=bscmake.exe
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W4 /WX /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE RSC /l 0x419 /d "_DEBUG"
# ADD RSC /l 0x419 /d "_DEBUG"
BSC32=bscmake.exe
@@ -180,6 +180,10 @@ SOURCE=..\..\..\Common\CRC.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\CrcReg.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\Defs.h
# End Source File
# Begin Source File
diff --git a/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw b/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw
index e62c9d2f..e62c9d2f 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw
+++ b/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw
diff --git a/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp b/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp
+++ b/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/LzmaCon/StdAfx.h b/CPP/7zip/Bundles/LzmaCon/StdAfx.h
index e7fb6986..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/StdAfx.h
+++ b/CPP/7zip/Bundles/LzmaCon/StdAfx.h
@@ -3,6 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/LzmaCon/makefile b/CPP/7zip/Bundles/LzmaCon/makefile
index 35d031af..54919f73 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/makefile
+++ b/CPP/7zip/Bundles/LzmaCon/makefile
@@ -2,7 +2,7 @@ PROG = lzma.exe
MY_CONSOLE = 1
CFLAGS = $(CFLAGS)
-LZMA_OBJS = \
+CURRENT_OBJS = \
$O\LzmaAlone.obj \
COMPRESS_OBJS = \
@@ -13,8 +13,10 @@ COMPRESS_OBJS = \
COMMON_OBJS = \
$O\CommandLineParser.obj \
$O\CRC.obj \
+ $O\CrcReg.obj \
$O\IntToString.obj \
$O\MyString.obj \
+ $O\NewHandler.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\MyVector.obj
@@ -54,36 +56,4 @@ C_OBJS = \
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(LZMA_OBJS) \
- $(COMPRESS_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(CONSOLE_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
-
-!include "../../../Build.mak"
-
-
-$(LZMA_OBJS): $(*B).cpp
- $(COMPL)
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL_O2)
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
- $(COMPL)
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/LzmaCon/makefile.gcc b/CPP/7zip/Bundles/LzmaCon/makefile.gcc
index 0f9f498c..42e52246 100755..100644
--- a/CPP/7zip/Bundles/LzmaCon/makefile.gcc
+++ b/CPP/7zip/Bundles/LzmaCon/makefile.gcc
@@ -35,6 +35,7 @@ OBJS = \
$(FILE_IO).o \
CommandLineParser.o \
CRC.o \
+ CrcReg.o \
IntToString.o \
MyString.o \
MyVector.o \
@@ -108,6 +109,9 @@ CommandLineParser.o: ../../../Common/CommandLineParser.cpp
CRC.o: ../../../Common/CRC.cpp
$(CXX) $(CFLAGS) ../../../Common/CRC.cpp
+CrcReg.o: ../../../Common/CrcReg.cpp
+ $(CXX) $(CFLAGS) ../../../Common/CrcReg.cpp
+
IntToString.o: ../../../Common/IntToString.cpp
$(CXX) $(CFLAGS) ../../../Common/IntToString.cpp
diff --git a/CPP/7zip/Bundles/LzmaCon/resource.rc b/CPP/7zip/Bundles/LzmaCon/resource.rc
new file mode 100644
index 00000000..43b50738
--- /dev/null
+++ b/CPP/7zip/Bundles/LzmaCon/resource.rc
@@ -0,0 +1,3 @@
+#include "../../MyVersionInfo.rc"
+
+MY_VERSION_INFO_APP("LZMA", "lzma")
diff --git a/CPP/7zip/Bundles/SFXCon/7z.ico b/CPP/7zip/Bundles/SFXCon/7z.ico
index 47ffb781..47ffb781 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/7z.ico
+++ b/CPP/7zip/Bundles/SFXCon/7z.ico
Binary files differ
diff --git a/CPP/7zip/Bundles/SFXCon/SFXCon.dsp b/CPP/7zip/Bundles/SFXCon/SFXCon.dsp
index e355d6e1..092fedcd 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/SFXCon.dsp
+++ b/CPP/7zip/Bundles/SFXCon/SFXCon.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "EXTRACT_ONLY" /D "_SFX" /D "NO_READ_FROM_CODER" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "EXTRACT_ONLY" /D "_SFX" /D "NO_READ_FROM_CODER" /Yu"StdAfx.h" /FD /c
# ADD BASE RSC /l 0x419 /d "NDEBUG"
# ADD RSC /l 0x419 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\Util\7zCon.sfx" /opt:NOWIN98
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\Util\7zCon.exe" /opt:NOWIN98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "SFXCon - Win32 Debug"
@@ -67,7 +67,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\\" /I "..\..\..\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "EXTRACT_ONLY" /D "_SFX" /D "NO_READ_FROM_CODER" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MTd /W4 /WX /Gm /GX /ZI /Od /I "..\..\..\..\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "EXTRACT_ONLY" /D "_SFX" /D "NO_READ_FROM_CODER" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE RSC /l 0x419 /d "_DEBUG"
# ADD RSC /l 0x419 /d "_DEBUG"
BSC32=bscmake.exe
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"C:\Util\7zCon.sfx" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"C:\Util\7zCon.exe" /pdbtype:sept
!ENDIF
@@ -141,6 +141,14 @@ SOURCE=..\..\Archive\Common\ItemNameUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Archive\Common\MultiStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Archive\Common\MultiStream.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Archive\Common\OutStreamWithCRC.cpp
# End Source File
# Begin Source File
@@ -229,10 +237,6 @@ SOURCE=..\..\Archive\7z\7zHandler.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\7zHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\7z\7zHeader.h
# End Source File
# Begin Source File
@@ -251,6 +255,10 @@ SOURCE=..\..\Archive\7z\7zItem.h
SOURCE=..\..\Archive\7z\7zRegister.cpp
# End Source File
+# Begin Source File
+
+SOURCE=..\..\Archive\SplitHandler.cpp
+# End Source File
# End Group
# Begin Group "Compress"
@@ -345,11 +353,11 @@ SOURCE=..\..\..\Windows\DLL.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.cpp
+SOURCE=..\..\..\Windows\ErrorMsg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.h
+SOURCE=..\..\..\Windows\ErrorMsg.h
# End Source File
# Begin Source File
@@ -393,11 +401,11 @@ SOURCE=..\..\..\Windows\PropVariant.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.cpp
+SOURCE=..\..\..\Windows\PropVariantConv.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.h
+SOURCE=..\..\..\Windows\PropVariantConv.h
# End Source File
# Begin Source File
@@ -593,6 +601,10 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\StreamBinder.cpp
# End Source File
# Begin Source File
@@ -815,7 +827,11 @@ SOURCE=.\7z.ico
# End Source File
# Begin Source File
-SOURCE=.\Main.cpp
+SOURCE=..\..\Archive\IArchive.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SfxCon.cpp
# End Source File
# End Target
# End Project
diff --git a/CPP/7zip/Bundles/SFXCon/SFXCon.dsw b/CPP/7zip/Bundles/SFXCon/SFXCon.dsw
index 27bf7e6d..27bf7e6d 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/SFXCon.dsw
+++ b/CPP/7zip/Bundles/SFXCon/SFXCon.dsw
diff --git a/CPP/7zip/Bundles/SFXCon/Main.cpp b/CPP/7zip/Bundles/SFXCon/SfxCon.cpp
index 3e9a8162..c8837f9d 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/Main.cpp
+++ b/CPP/7zip/Bundles/SFXCon/SfxCon.cpp
@@ -2,16 +2,16 @@
#include "StdAfx.h"
-#include "Common/MyInitGuid.h"
+#include "../../../Common/MyInitGuid.h"
-#include "Common/CommandLineParser.h"
-#include "Common/MyException.h"
+#include "../../../Common/CommandLineParser.h"
+#include "../../../Common/MyException.h"
#ifdef _WIN32
-#include "Windows/DLL.h"
-#include "Windows/FileDir.h"
+#include "../../../Windows/DLL.h"
+#include "../../../Windows/FileDir.h"
#endif
-#include "Windows/FileName.h"
+#include "../../../Windows/FileName.h"
#include "../../UI/Common/ExitCode.h"
#include "../../UI/Common/Extract.h"
@@ -24,6 +24,7 @@
using namespace NWindows;
using namespace NFile;
+using namespace NDir;
using namespace NCommandLineParser;
#ifdef _WIN32
@@ -54,7 +55,7 @@ namespace NRecursedType {
enum EEnum
{
kRecursed,
- kWildCardOnlyRecursed,
+ kWildcardOnlyRecursed,
kNonRecursed
};
}
@@ -65,7 +66,7 @@ static const wchar_t *kRecursedPostCharSet = L"0-";
namespace NRecursedPostCharIndex {
enum EEnum
{
- kWildCardRecursionOnly = 0,
+ kWildcardRecursionOnly = 0,
kNoRecursion = 1
};
}
@@ -77,35 +78,16 @@ static const char kSomeCludePostStringMinSize = 2; // at least <@|!><N>ame must
static const char kSomeCludeAfterRecursedPostStringMinSize = 2; // at least <@|!><N>ame must be
*/
static const CSwitchForm kSwitchForms[kNumSwitches] =
- {
- { L"?", NSwitchType::kSimple, false },
- { L"H", NSwitchType::kSimple, false },
- { L"BD", NSwitchType::kSimple, false },
- { L"Y", NSwitchType::kSimple, false },
- { L"P", NSwitchType::kUnLimitedPostString, false, 1 },
- { L"O", NSwitchType::kUnLimitedPostString, false, 1 },
- };
-
-static const int kNumCommandForms = 3;
-
-namespace NCommandType {
-enum EEnum
{
- kTest = 0,
- // kExtract,
- kFullExtract,
- kList
+ { "?", NSwitchType::kSimple },
+ { "H", NSwitchType::kSimple },
+ { "BD", NSwitchType::kSimple },
+ { "Y", NSwitchType::kSimple },
+ { "P", NSwitchType::kString, false, 1 },
+ { "O", NSwitchType::kString, false, 1 },
};
-}
-
-static const CCommandForm commandForms[kNumCommandForms] =
-{
- { L"T", false },
- // { "E", false },
- { L"X", false },
- { L"L", false }
-};
+static const int kNumCommandForms = 3;
static const NRecursedType::EEnum kCommandRecursedDefault[kNumCommandForms] =
{
@@ -137,7 +119,7 @@ static const char *kHelpString =
static const char *kUserErrorMessage = "Incorrect command line"; // NExitCode::kUserError
// static const char *kIncorrectListFile = "Incorrect wildcard in listfile";
-static const char *kIncorrectWildCardInCommandLine = "Incorrect wildcard in command line";
+static const char *kIncorrectWildcardInCommandLine = "Incorrect wildcard in command line";
// static const CSysString kFileIsNotArchiveMessageBefore = "File \"";
// static const CSysString kFileIsNotArchiveMessageAfter = "\" is not archive";
@@ -146,13 +128,40 @@ static const char *kIncorrectWildCardInCommandLine = "Incorrect wildcard in com
static const char *kCantFindSFX = " cannot find sfx";
+namespace NCommandType
+{
+ enum EEnum
+ {
+ kTest = 0,
+ kFullExtract,
+ kList
+ };
+}
+
+static const char *g_Commands = "txl";
struct CArchiveCommand
{
NCommandType::EEnum CommandType;
+
NRecursedType::EEnum DefaultRecursedType() const;
};
+bool ParseArchiveCommand(const UString &commandString, CArchiveCommand &command)
+{
+ UString s = commandString;
+ s.MakeLower_Ascii();
+ if (s.Len() != 1)
+ return false;
+ if (s[0] >= 0x80)
+ return false;
+ int index = FindCharPosInString(g_Commands, (char)s[0]);
+ if (index < 0)
+ return false;
+ command.CommandType = (NCommandType::EEnum)index;
+ return true;
+}
+
NRecursedType::EEnum CArchiveCommand::DefaultRecursedType() const
{
return kCommandRecursedDefault[CommandType];
@@ -175,19 +184,6 @@ static void PrintHelpAndExit() // yyy
ShowMessageAndThrowException(kUserErrorMessage, NExitCode::kUserError);
}
-bool ParseArchiveCommand(const UString &commandString, CArchiveCommand &command)
-{
- UString commandStringUpper = commandString;
- commandStringUpper.MakeUpper();
- UString postString;
- int commandIndex = ParseCommand(kNumCommandForms, commandForms, commandStringUpper,
- postString) ;
- if (commandIndex < 0)
- return false;
- command.CommandType = (NCommandType::EEnum)commandIndex;
- return true;
-}
-
// ------------------------------------------------------------------
// filenames functions
@@ -195,16 +191,16 @@ static bool AddNameToCensor(NWildcard::CCensor &wildcardCensor,
const UString &name, bool include, NRecursedType::EEnum type)
{
/*
- if (!IsWildCardFilePathLegal(name))
+ if (!IsWildcardFilePathLegal(name))
return false;
*/
- bool isWildCard = DoesNameContainWildCard(name);
+ bool isWildcard = DoesNameContainWildcard(name);
bool recursed = false;
switch (type)
{
- case NRecursedType::kWildCardOnlyRecursed:
- recursed = isWildCard;
+ case NRecursedType::kWildcardOnlyRecursed:
+ recursed = isWildcard;
break;
case NRecursedType::kRecursed:
recursed = true;
@@ -213,22 +209,22 @@ static bool AddNameToCensor(NWildcard::CCensor &wildcardCensor,
recursed = false;
break;
}
- wildcardCensor.AddItem(include, name, recursed);
+ wildcardCensor.AddPreItem(include, name, recursed, true);
return true;
}
-void AddCommandLineWildCardToCensor(NWildcard::CCensor &wildcardCensor,
+void AddCommandLineWildcardToCensor(NWildcard::CCensor &wildcardCensor,
const UString &name, bool include, NRecursedType::EEnum type)
{
if (!AddNameToCensor(wildcardCensor, name, include, type))
- ShowMessageAndThrowException(kIncorrectWildCardInCommandLine, NExitCode::kUserError);
+ ShowMessageAndThrowException(kIncorrectWildcardInCommandLine, NExitCode::kUserError);
}
void AddToCensorFromNonSwitchesStrings(NWildcard::CCensor &wildcardCensor,
const UStringVector & /* nonSwitchStrings */, NRecursedType::EEnum type,
- bool /* thereAreSwitchIncludeWildCards */)
+ bool /* thereAreSwitchIncludeWildcards */)
{
- AddCommandLineWildCardToCensor(wildcardCensor, kUniversalWildcard, true, type);
+ AddCommandLineWildcardToCensor(wildcardCensor, kUniversalWildcard, true, type);
}
@@ -269,7 +265,7 @@ int Main2(
{
FString path;
NDLL::MyGetModuleFileName(path);
- if (!NDirectory::MyGetFullPathName(path, arcPath))
+ if (!MyGetFullPathName(path, arcPath))
{
g_StdOut << "GetFullPathName Error";
return NExitCode::kFatalError;
@@ -320,10 +316,11 @@ int Main2(
NWildcard::CCensor wildcardCensor;
- bool thereAreSwitchIncludeWildCards;
- thereAreSwitchIncludeWildCards = false;
+ bool thereAreSwitchIncludeWildcards;
+ thereAreSwitchIncludeWildcards = false;
+
AddToCensorFromNonSwitchesStrings(wildcardCensor, nonSwitchStrings, recursedType,
- thereAreSwitchIncludeWildCards);
+ thereAreSwitchIncludeWildcards);
bool yesToAll = parser[NKey::kYes].ThereIs;
@@ -346,6 +343,9 @@ int Main2(
NName::NormalizeDirPathPrefix(outputDir);
}
+
+ wildcardCensor.AddPathsToCensor(NWildcard::k_RelatPath);
+
{
UStringVector v1, v2;
v1.Add(fs2us(arcPath));
@@ -388,21 +388,23 @@ int Main2(
CExtractOptions eo;
eo.StdOutMode = false;
- eo.PathMode = NExtract::NPathMode::kFullPathnames;
+ eo.YesToAll = yesToAll;
eo.TestMode = command.CommandType == NCommandType::kTest;
+ eo.PathMode = NExtract::NPathMode::kFullPaths;
eo.OverwriteMode = yesToAll ?
- NExtract::NOverwriteMode::kWithoutPrompt :
- NExtract::NOverwriteMode::kAskBefore;
+ NExtract::NOverwriteMode::kOverwrite :
+ NExtract::NOverwriteMode::kAsk;
eo.OutputDir = outputDir;
- eo.YesToAll = yesToAll;
UString errorMessage;
CDecompressStat stat;
- HRESULT result = DecompressArchives(
- codecs, CIntVector(),
+ HRESULT result = Extract(
+ codecs, CObjectVector<COpenType>(), CIntVector(),
v1, v2,
wildcardCensorHead,
- eo, &openCallback, ecs, errorMessage, stat);
+ eo, &openCallback, ecs,
+ // NULL, // hash
+ errorMessage, stat);
if (!errorMessage.IsEmpty())
{
(*g_StdStream) << endl << "Error: " << errorMessage;;
@@ -410,10 +412,10 @@ int Main2(
result = E_FAIL;
}
- if (ecs->NumArchiveErrors != 0 || ecs->NumFileErrors != 0)
+ if (ecs->NumArcsWithError != 0 || ecs->NumFileErrors != 0)
{
- if (ecs->NumArchiveErrors != 0)
- (*g_StdStream) << endl << "Archive Errors: " << ecs->NumArchiveErrors << endl;
+ if (ecs->NumArcsWithError != 0)
+ (*g_StdStream) << endl << "Archive Errors" << endl;
if (ecs->NumFileErrors != 0)
(*g_StdStream) << endl << "Sub items Errors: " << ecs->NumFileErrors << endl;
return NExitCode::kFatalError;
@@ -424,16 +426,20 @@ int Main2(
else
{
UInt64 numErrors = 0;
+ UInt64 numWarnings = 0;
HRESULT result = ListArchives(
- codecs, CIntVector(),
- false,
+ codecs, CObjectVector<COpenType>(), CIntVector(),
+ false, // stdInMode
v1, v2,
+ true, // processAltStreams
+ false, // showAltStreams
wildcardCensorHead,
- true, false,
+ true, // enableHeaders
+ false, // techMode
#ifndef _NO_CRYPTO
passwordEnabled, password,
#endif
- numErrors);
+ numErrors, numWarnings);
if (numErrors > 0)
{
g_StdOut << endl << "Errors: " << numErrors;
diff --git a/CPP/7zip/Bundles/SFXCon/StdAfx.cpp b/CPP/7zip/Bundles/SFXCon/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/StdAfx.cpp
+++ b/CPP/7zip/Bundles/SFXCon/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/SFXCon/StdAfx.h b/CPP/7zip/Bundles/SFXCon/StdAfx.h
index 2e4be10b..2854ff3e 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/StdAfx.h
+++ b/CPP/7zip/Bundles/SFXCon/StdAfx.h
@@ -3,7 +3,6 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#endif
diff --git a/CPP/7zip/Bundles/SFXCon/makefile b/CPP/7zip/Bundles/SFXCon/makefile
index c92236bf..dd795b0b 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/makefile
+++ b/CPP/7zip/Bundles/SFXCon/makefile
@@ -1,12 +1,12 @@
PROG = 7zCon.sfx
MY_CONSOLE = 1
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DEXTRACT_ONLY \
-DNO_READ_FROM_CODER \
-D_SFX \
-SFX_CONSOLE_OBJS = \
- $O\Main.obj \
+CURRENT_OBJS = \
+ $O\SfxCon.obj \
CONSOLE_OBJS = \
$O\ConsoleClose.obj \
@@ -20,24 +20,24 @@ COMMON_OBJS = \
$O\CommandLineParser.obj \
$O\CRC.obj \
$O\IntToString.obj \
+ $O\MyString.obj \
+ $O\MyVector.obj \
$O\NewHandler.obj \
$O\StdInStream.obj \
$O\StdOutStream.obj \
- $O\MyString.obj \
$O\StringConvert.obj \
- $O\MyVector.obj \
$O\Wildcard.obj \
$O\UTFConvert.obj \
WIN_OBJS = \
$O\DLL.obj \
- $O\Error.obj \
+ $O\ErrorMsg.obj \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
$O\FileName.obj \
$O\PropVariant.obj \
- $O\PropVariantConversions.obj \
+ $O\PropVariantConv.obj \
$O\Synchronization.obj \
7ZIP_COMMON_OBJS = \
@@ -51,6 +51,7 @@ WIN_OBJS = \
$O\LockedStream.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
@@ -66,11 +67,15 @@ UI_COMMON_OBJS = \
$O\OpenArchive.obj \
$O\PropIDUtils.obj \
+AR_OBJS = \
+ $O\SplitHandler.obj \
+
AR_COMMON_OBJS = \
$O\CoderMixer2.obj \
$O\CoderMixer2MT.obj \
$O\CrossThreadProgress.obj \
$O\ItemNameUtils.obj \
+ $O\MultiStream.obj \
$O\OutStreamWithCRC.obj \
@@ -79,7 +84,6 @@ AR_COMMON_OBJS = \
$O\7zExtract.obj \
$O\7zFolderOutStream.obj \
$O\7zHandler.obj \
- $O\7zHeader.obj \
$O\7zIn.obj \
$O\7zRegister.obj \
@@ -117,48 +121,4 @@ C_OBJS = \
!include "../../Aes.mak"
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(SFX_CONSOLE_OBJS) \
- $(CONSOLE_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(SFX_CONSOLE_OBJS): $(*B).cpp
- $(COMPL)
-
-$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
- $(COMPL)
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL)
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL)
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/SFXCon/resource.rc b/CPP/7zip/Bundles/SFXCon/resource.rc
index 58331b81..58331b81 100755..100644
--- a/CPP/7zip/Bundles/SFXCon/resource.rc
+++ b/CPP/7zip/Bundles/SFXCon/resource.rc
diff --git a/CPP/7zip/Bundles/SFXSetup/ExtractCallback.cpp b/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp
index 9b733da0..9fe98fc0 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/ExtractCallback.cpp
+++ b/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp
@@ -1,18 +1,19 @@
-// ExtractCallback.h
+// ExtractCallbackSfx.h
#include "StdAfx.h"
-#include "Common/Wildcard.h"
+#include "../../../Common/Wildcard.h"
-#include "Windows/FileDir.h"
-#include "Windows/FileFind.h"
-#include "Windows/FileName.h"
-#include "Windows/PropVariant.h"
+#include "../../../Windows/FileDir.h"
+#include "../../../Windows/FileFind.h"
+#include "../../../Windows/FileName.h"
+#include "../../../Windows/PropVariant.h"
-#include "ExtractCallback.h"
+#include "ExtractCallbackSfx.h"
using namespace NWindows;
using namespace NFile;
+using namespace NDir;
static LPCWSTR kCantDeleteFile = L"Can not delete output file";
static LPCWSTR kCantOpenFile = L"Can not open output file";
@@ -78,10 +79,10 @@ STDMETHODIMP CExtractCallbackImp::SetCompleted(const UInt64 *completeValue)
void CExtractCallbackImp::CreateComplexDirectory(const UStringVector &dirPathParts)
{
FString fullPath = _directoryPath;
- for (int i = 0; i < dirPathParts.Size(); i++)
+ FOR_VECTOR (i, dirPathParts)
{
fullPath += us2fs(dirPathParts[i]);
- NDirectory::MyCreateDirectory(fullPath);
+ CreateDir(fullPath);
fullPath += FCHAR_PATH_SEPARATOR;
}
}
@@ -161,16 +162,16 @@ STDMETHODIMP CExtractCallbackImp::GetStream(UInt32 index,
_diskFilePath = fullProcessedPath;
if (isAnti)
- NDirectory::MyRemoveDirectory(_diskFilePath);
+ RemoveDir(_diskFilePath);
else
- NDirectory::SetDirTime(_diskFilePath, NULL, NULL, &_processedFileInfo.MTime);
+ SetDirTime(_diskFilePath, NULL, NULL, &_processedFileInfo.MTime);
return S_OK;
}
NFind::CFileInfo fileInfo;
if (fileInfo.Find(fullProcessedPath))
{
- if (!NDirectory::DeleteFileAlways(fullProcessedPath))
+ if (!DeleteFileAlways(fullProcessedPath))
{
_message = kCantDeleteFile;
return E_FAIL;
@@ -216,7 +217,7 @@ STDMETHODIMP CExtractCallbackImp::SetOperationResult(Int32 resultEOperationResul
_outFileStream.Release();
switch(resultEOperationResult)
{
- case NArchive::NExtract::NOperationResult::kUnSupportedMethod:
+ case NArchive::NExtract::NOperationResult::kUnsupportedMethod:
_message = kUnsupportedMethod;
break;
default:
@@ -232,6 +233,6 @@ STDMETHODIMP CExtractCallbackImp::SetOperationResult(Int32 resultEOperationResul
}
_outFileStream.Release();
if (_extractMode)
- NDirectory::MySetFileAttributes(_diskFilePath, _processedFileInfo.Attributes);
+ SetFileAttrib(_diskFilePath, _processedFileInfo.Attributes);
return S_OK;
}
diff --git a/CPP/7zip/Bundles/SFXSetup/ExtractCallback.h b/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h
index 128988f9..cfbc5c07 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/ExtractCallback.h
+++ b/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h
@@ -1,17 +1,19 @@
-// ExtractCallback.h
+// ExtractCallbackSfx.h
-#ifndef __EXTRACT_CALLBACK_H
-#define __EXTRACT_CALLBACK_H
+#ifndef __EXTRACT_CALLBACK_SFX_H
+#define __EXTRACT_CALLBACK_SFX_H
#include "resource.h"
-#include "Windows/ResourceString.h"
+#include "../../../Windows/ResourceString.h"
#include "../../Archive/IArchive.h"
#include "../../Common/FileStreams.h"
#include "../../ICoder.h"
+#include "../../UI/FileManager/LangUtils.h"
+
#ifndef _NO_PROGRESS
#include "../../UI/FileManager/ProgressDialog.h"
#endif
@@ -70,11 +72,7 @@ public:
{
ProgressDialog.Create(title, thread, 0);
{
- #ifdef LANG
- ProgressDialog.SetText(LangLoadString(IDS_PROGRESS_EXTRACTING, 0x02000890));
- #else
- ProgressDialog.SetText(NWindows::MyLoadStringW(IDS_PROGRESS_EXTRACTING));
- #endif
+ ProgressDialog.SetText(LangString(IDS_PROGRESS_EXTRACTING));
}
ProgressDialog.Show(SW_SHOWNORMAL);
diff --git a/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp b/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp
index 8f830de5..ba41fd1a 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp
+++ b/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp
@@ -2,18 +2,21 @@
#include "StdAfx.h"
-#include "Windows/FileDir.h"
-#include "Windows/FileName.h"
-#include "Windows/Thread.h"
+#include "../../../Windows/FileDir.h"
+#include "../../../Windows/FileName.h"
+#include "../../../Windows/Thread.h"
#include "../../UI/Common/OpenArchive.h"
#include "../../UI/FileManager/FormatUtils.h"
+#include "../../UI/FileManager/LangUtils.h"
-#include "ExtractCallback.h"
+#include "ExtractCallbackSfx.h"
#include "ExtractEngine.h"
using namespace NWindows;
+using namespace NFile;
+using namespace NDir;
static LPCWSTR kCantFindArchive = L"Can not find archive file";
static LPCWSTR kCantOpenArchive = L"Can not open the file as archive";
@@ -33,15 +36,23 @@ struct CThreadExtracting
void Process2()
{
- NFile::NFind::CFileInfo fi;
+ NFind::CFileInfo fi;
if (!fi.Find(FileName))
{
ErrorMessage = kCantFindArchive;
Result = E_FAIL;
return;
}
+
+ CObjectVector<COpenType> incl;
+ CIntVector excl;
+ COpenOptions options;
+ options.codecs = Codecs;
+ options.types = &incl;
+ options.excludedFormats = &excl;
+ options.filePath = fs2us(FileName);
- Result = ArchiveLink.Open2(Codecs, CIntVector(), false, NULL, fs2us(FileName), ExtractCallbackSpec);
+ Result = ArchiveLink.Open2(options, ExtractCallbackSpec);
if (Result != S_OK)
{
if (Result != S_OK)
@@ -50,9 +61,9 @@ struct CThreadExtracting
}
FString dirPath = DestFolder;
- NFile::NName::NormalizeDirPathPrefix(dirPath);
+ NName::NormalizeDirPathPrefix(dirPath);
- if (!NFile::NDirectory::CreateComplexDirectory(dirPath))
+ if (!CreateComplexDir(dirPath))
{
ErrorMessage = MyFormatNew(IDS_CANNOT_CREATE_FOLDER,
#ifdef LANG
@@ -65,7 +76,7 @@ struct CThreadExtracting
ExtractCallbackSpec->Init(ArchiveLink.GetArchive(), dirPath, L"Default", fi.MTime, 0);
- Result = ArchiveLink.GetArchive()->Extract(0, (UInt32)-1 , BoolToInt(false), ExtractCallback);
+ Result = ArchiveLink.GetArchive()->Extract(0, (UInt32)(Int32)-1 , BoolToInt(false), ExtractCallback);
}
void Process()
@@ -109,11 +120,7 @@ HRESULT ExtractArchive(CCodecs *codecs, const FString &fileName, const FString &
RINOK(thread.Create(CThreadExtracting::MyThreadFunction, &t));
UString title;
- #ifdef LANG
- title = LangLoadString(IDS_PROGRESS_EXTRACTING, 0x02000890);
- #else
- title = NWindows::MyLoadStringW(IDS_PROGRESS_EXTRACTING);
- #endif
+ LangString(IDS_PROGRESS_EXTRACTING, title);
t.ExtractCallbackSpec->StartProgressDialog(title, thread);
}
else
diff --git a/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h b/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h
index 295d77b9..295d77b9 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h
+++ b/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h
diff --git a/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp b/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp
index 68fe84d6..3a8ae36b 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp
+++ b/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp
@@ -44,7 +44,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gz /MT /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MT /W4 /WX /GX /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -71,7 +71,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MTd /W4 /WX /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "_DEBUG"
@@ -98,7 +98,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "EXCLUDE_COM" /D "NO_REGISTRY" /D "_SFX" /Yu"StdAfx.h" /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "_SFX" /D "_NO_CRYPTO" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -173,10 +173,6 @@ SOURCE=..\..\Archive\7z\7zHandler.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\7zHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\7z\7zHeader.h
# End Source File
# Begin Source File
@@ -401,11 +397,11 @@ SOURCE=..\..\..\Windows\DLL.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.cpp
+SOURCE=..\..\..\Windows\ErrorMsg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.h
+SOURCE=..\..\..\Windows\ErrorMsg.h
# End Source File
# Begin Source File
@@ -541,6 +537,10 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\StreamBinder.cpp
# End Source File
# Begin Source File
@@ -641,6 +641,10 @@ SOURCE=..\..\UI\FileManager\FormatUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\UI\FileManager\LangUtils.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\FileManager\ProgressDialog.cpp
# End Source File
# Begin Source File
@@ -722,11 +726,11 @@ SOURCE=..\..\..\..\C\Threads.h
# End Group
# Begin Source File
-SOURCE=.\ExtractCallback.cpp
+SOURCE=.\ExtractCallbackSfx.cpp
# End Source File
# Begin Source File
-SOURCE=.\ExtractCallback.h
+SOURCE=.\ExtractCallbackSfx.h
# End Source File
# Begin Source File
@@ -738,11 +742,11 @@ SOURCE=.\ExtractEngine.h
# End Source File
# Begin Source File
-SOURCE=.\Main.cpp
+SOURCE=.\setup.ico
# End Source File
# Begin Source File
-SOURCE=.\setup.ico
+SOURCE=.\SfxSetup.cpp
# End Source File
# End Target
# End Project
diff --git a/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw b/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw
index f563b21f..f563b21f 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw
+++ b/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw
diff --git a/CPP/7zip/Bundles/SFXSetup/Main.cpp b/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
index 008c0e42..20bde9e9 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/Main.cpp
+++ b/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
@@ -2,19 +2,20 @@
#include "StdAfx.h"
-#include "Common/MyInitGuid.h"
+#include "../../../Common/MyInitGuid.h"
-#include "Common/CommandLineParser.h"
-#include "Common/StringConvert.h"
-#include "Common/TextConfig.h"
+#include "../../../Common/CommandLineParser.h"
+#include "../../../Common/StringConvert.h"
+#include "../../../Common/TextConfig.h"
-#include "Windows/DLL.h"
-#include "Windows/FileDir.h"
-#include "Windows/FileFind.h"
-#include "Windows/FileIO.h"
-#include "Windows/FileName.h"
-#include "Windows/NtCheck.h"
-#include "Windows/ResourceString.h"
+#include "../../../Windows/DLL.h"
+#include "../../../Windows/ErrorMsg.h"
+#include "../../../Windows/FileDir.h"
+#include "../../../Windows/FileFind.h"
+#include "../../../Windows/FileIO.h"
+#include "../../../Windows/FileName.h"
+#include "../../../Windows/NtCheck.h"
+#include "../../../Windows/ResourceString.h"
#include "../../UI/Explorer/MyMessages.h"
@@ -23,6 +24,8 @@
#include "resource.h"
using namespace NWindows;
+using namespace NFile;
+using namespace NDir;
HINSTANCE g_hInstance;
@@ -34,7 +37,7 @@ static bool ReadDataString(CFSTR fileName, LPCSTR startID,
LPCSTR endID, AString &stringResult)
{
stringResult.Empty();
- NFile::NIO::CInFile inFile;
+ NIO::CInFile inFile;
if (!inFile.Open(fileName))
return false;
const int kBufferSize = (1 << 12);
@@ -105,19 +108,20 @@ public:
} g_CInstallIDInit;
-#ifndef UNDER_CE
-class CCurrentDirRestorer
-{
- FString m_CurrentDirectory;
-public:
- CCurrentDirRestorer() { NFile::NDirectory::MyGetCurrentDirectory(m_CurrentDirectory); }
- ~CCurrentDirRestorer() { RestoreDirectory();}
- bool RestoreDirectory() const { return NFile::NDirectory::MySetCurrentDirectory(m_CurrentDirectory); }
-};
-#endif
-
#define NT_CHECK_FAIL_ACTION ShowErrorMessage(L"Unsupported Windows version"); return 1;
+static void ShowErrorMessageSpec(const UString &name)
+{
+ UString message = NError::MyFormatMessage(::GetLastError());
+ int pos = message.Find(L"%1");
+ if (pos >= 0)
+ {
+ message.Delete(pos, 2);
+ message.Insert(pos, name);
+ }
+ ShowErrorMessage(NULL, message);
+}
+
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
#ifdef UNDER_CE
LPWSTR
@@ -143,10 +147,10 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
switches.Trim();
bool assumeYes = false;
- if (switches.Left(2).CompareNoCase(UString(L"-y")) == 0)
+ if (MyStringCompareNoCase_N(switches, L"-y", 2) == 0)
{
assumeYes = true;
- switches = switches.Mid(2);
+ switches = switches.Ptr(2);
switches.Trim();
}
@@ -173,7 +177,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
UString friendlyName = GetTextConfigValue(pairs, L"Title");
UString installPrompt = GetTextConfigValue(pairs, L"BeginPrompt");
UString progress = GetTextConfigValue(pairs, L"Progress");
- if (progress.CompareNoCase(L"no") == 0)
+ if (progress.IsEqualToNoCase(L"no"))
showProgress = false;
int index = FindTextConfigItem(pairs, L"Directory");
if (index >= 0)
@@ -188,11 +192,11 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
#ifdef _SHELL_EXECUTE
executeFile = GetTextConfigValue(pairs, L"ExecuteFile");
- executeParameters = GetTextConfigValue(pairs, L"ExecuteParameters") + switches;
+ executeParameters = GetTextConfigValue(pairs, L"ExecuteParameters");
#endif
}
- NFile::NDirectory::CTempDir tempDir;
+ CTempDir tempDir;
if (!tempDir.Create(kTempDirPrefix))
{
if (!assumeYes)
@@ -209,7 +213,8 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
return 1;
}
- FString tempDirPath = tempDir.GetPath();
+ const FString tempDirPath = tempDir.GetPath();
+ // tempDirPath = L"M:\\1\\"; // to test low disk space
{
bool isCorrupt = false;
UString errorMessage;
@@ -222,11 +227,15 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
{
if (result == S_FALSE || isCorrupt)
{
- errorMessage = NWindows::MyLoadStringW(IDS_EXTRACTION_ERROR_MESSAGE);
+ NWindows::MyLoadString(IDS_EXTRACTION_ERROR_MESSAGE, errorMessage);
result = E_FAIL;
}
- if (result != E_ABORT && !errorMessage.IsEmpty())
- ::MessageBoxW(0, errorMessage, NWindows::MyLoadStringW(IDS_EXTRACTION_ERROR_TITLE), MB_ICONERROR);
+ if (result != E_ABORT)
+ {
+ if (errorMessage.IsEmpty())
+ errorMessage = NError::MyFormatMessage(result);
+ ::MessageBoxW(0, errorMessage, NWindows::MyLoadString(IDS_EXTRACTION_ERROR_TITLE), MB_ICONERROR);
+ }
}
return 1;
}
@@ -234,7 +243,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
#ifndef UNDER_CE
CCurrentDirRestorer currentDirRestorer;
- if (!NFile::NDirectory::MySetCurrentDirectory(tempDir.GetPath()))
+ if (!SetCurrentDir(tempDirPath))
return 1;
#endif
@@ -255,7 +264,11 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
execInfo.lpFile = filePath;
if (!switches.IsEmpty())
+ {
+ if (!executeParameters.IsEmpty())
+ executeParameters += L' ';
executeParameters += switches;
+ }
CSysString parametersSys = GetSystemString(executeParameters);
if (parametersSys.IsEmpty())
@@ -282,7 +295,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
if (appLaunched.IsEmpty())
{
appLaunched = L"setup.exe";
- if (!NFile::NFind::DoesFileExist(us2fs(appLaunched)))
+ if (!NFind::DoesFileExist(us2fs(appLaunched)))
{
if (!assumeYes)
ShowErrorMessage(L"Can not find setup.exe");
@@ -292,10 +305,12 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
{
FString s2 = tempDirPath;
- NFile::NName::NormalizeDirPathPrefix(s2);
+ NName::NormalizeDirPathPrefix(s2);
appLaunched.Replace(L"%%T" WSTRING_PATH_SEPARATOR, fs2us(s2));
}
+ UString appNameForError = appLaunched; // actually we need to rtemove parameters also
+
appLaunched.Replace(L"%%T", fs2us(tempDirPath));
if (!switches.IsEmpty())
@@ -322,7 +337,11 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
if (createResult == 0)
{
if (!assumeYes)
- ShowLastErrorMessage();
+ {
+ // we print name of exe file, if error message is
+ // ERROR_BAD_EXE_FORMAT: "%1 is not a valid Win32 application".
+ ShowErrorMessageSpec(appNameForError);
+ }
return 1;
}
::CloseHandle(processInformation.hThread);
diff --git a/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp b/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp
+++ b/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/SFXSetup/StdAfx.h b/CPP/7zip/Bundles/SFXSetup/StdAfx.h
index 19ece34b..37bbd0c3 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/StdAfx.h
+++ b/CPP/7zip/Bundles/SFXSetup/StdAfx.h
@@ -3,8 +3,11 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
+
#include <commctrl.h>
+// #define printf(x) NO_PRINTF_(x)
+// #define sprintf(x) NO_SPRINTF_(x)
+
#endif
diff --git a/CPP/7zip/Bundles/SFXSetup/makefile b/CPP/7zip/Bundles/SFXSetup/makefile
index 9136e432..ac5c6aa4 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/makefile
+++ b/CPP/7zip/Bundles/SFXSetup/makefile
@@ -1,14 +1,14 @@
PROG = 7zS.sfx
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DNO_REGISTRY \
-DEXTRACT_ONLY \
-DNO_READ_FROM_CODER \
-D_SFX \
-D_NO_CRYPTO \
-SFX_WIN_OBJS = \
- $O\Main.obj \
- $O\ExtractCallback.obj \
+CURRENT_OBJS = \
+ $O\SfxSetup.obj \
+ $O\ExtractCallbackSfx.obj \
$O\ExtractEngine.obj \
COMMON_OBJS = \
@@ -25,7 +25,7 @@ COMMON_OBJS = \
WIN_OBJS = \
$O\DLL.obj \
- $O\Error.obj \
+ $O\ErrorMsg.obj \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
@@ -47,6 +47,7 @@ WIN_CTRL_OBJS = \
$O\LockedStream.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
@@ -58,6 +59,9 @@ UI_COMMON_OBJS = \
$O\LoadCodecs.obj \
$O\OpenArchive.obj \
+EXPLORER_OBJS = \
+ $O\MyMessages.obj \
+
FM_OBJS = \
$O\FormatUtils.obj \
$O\ProgressDialog.obj \
@@ -74,7 +78,6 @@ AR_COMMON_OBJS = \
$O\7zExtract.obj \
$O\7zFolderOutStream.obj \
$O\7zHandler.obj \
- $O\7zHeader.obj \
$O\7zIn.obj \
$O\7zRegister.obj \
@@ -101,53 +104,4 @@ C_OBJS = \
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(SFX_WIN_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(WIN_CTRL_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(FM_OBJS)\
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $O\MyMessages.obj \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(SFX_WIN_OBJS): $(*B).cpp
- $(COMPL)
-
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(FM_OBJS): ../../UI/FileManager//$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL)
-
-$O\MyMessages.obj: ../../UI/Explorer/MyMessages.cpp
- $(COMPL)
-
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/SFXSetup/resource.h b/CPP/7zip/Bundles/SFXSetup/resource.h
index 58cd13cb..d5f440bb 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/resource.h
+++ b/CPP/7zip/Bundles/SFXSetup/resource.h
@@ -1,6 +1,6 @@
-#define IDI_ICON 1
+#define IDI_ICON 1
-#define IDS_EXTRACTION_ERROR_TITLE 7
-#define IDS_EXTRACTION_ERROR_MESSAGE 8
-#define IDS_CANNOT_CREATE_FOLDER 9
-#define IDS_PROGRESS_EXTRACTING 69
+#define IDS_EXTRACTION_ERROR_TITLE 7
+#define IDS_EXTRACTION_ERROR_MESSAGE 8
+#define IDS_CANNOT_CREATE_FOLDER 3003
+#define IDS_PROGRESS_EXTRACTING 3300
diff --git a/CPP/7zip/Bundles/SFXSetup/resource.rc b/CPP/7zip/Bundles/SFXSetup/resource.rc
index 8ccdcf2c..47e1b762 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/resource.rc
+++ b/CPP/7zip/Bundles/SFXSetup/resource.rc
@@ -7,10 +7,10 @@ IDI_ICON ICON "setup.ico"
STRINGTABLE
BEGIN
- IDS_EXTRACTION_ERROR_TITLE "Extraction Failed"
- IDS_EXTRACTION_ERROR_MESSAGE "File is corrupt"
- IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
- IDS_PROGRESS_EXTRACTING "Extracting"
+ IDS_EXTRACTION_ERROR_TITLE "Extraction Failed"
+ IDS_EXTRACTION_ERROR_MESSAGE "File is corrupt"
+ IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
+ IDS_PROGRESS_EXTRACTING "Extracting"
END
#include "../../UI/FileManager/ProgressDialog.rc"
diff --git a/CPP/7zip/Bundles/SFXSetup/setup.ico b/CPP/7zip/Bundles/SFXSetup/setup.ico
index bb455be1..bb455be1 100755..100644
--- a/CPP/7zip/Bundles/SFXSetup/setup.ico
+++ b/CPP/7zip/Bundles/SFXSetup/setup.ico
Binary files differ
diff --git a/CPP/7zip/Bundles/SFXWin/7z.ico b/CPP/7zip/Bundles/SFXWin/7z.ico
index 47ffb781..47ffb781 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/7z.ico
+++ b/CPP/7zip/Bundles/SFXWin/7z.ico
Binary files differ
diff --git a/CPP/7zip/Bundles/SFXWin/SFXWin.dsp b/CPP/7zip/Bundles/SFXWin/SFXWin.dsp
index 9cd7e8d2..55dbe377 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/SFXWin.dsp
+++ b/CPP/7zip/Bundles/SFXWin/SFXWin.dsp
@@ -44,7 +44,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -71,7 +71,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "_DEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /GZ /c
+# ADD CPP /nologo /Gz /MTd /W4 /WX /Gm /GX /ZI /Od /D "_DEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "_DEBUG"
@@ -81,7 +81,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"C:\Util\7z.sfx" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"C:\Util\7zsfx.exe" /pdbtype:sept
!ELSEIF "$(CFG)" == "SFXWin - Win32 ReleaseD"
@@ -98,7 +98,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /Gz /MT /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "EXCLUDE_COM" /D "NO_REGISTRY" /D "_SFX" /Yu"StdAfx.h" /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W4 /WX /GX /O1 /D "NDEBUG" /D "_SFXWIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "NO_REGISTRY" /D "NO_READ_FROM_CODER" /D "_SFX" /Yu"StdAfx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x419 /d "NDEBUG"
@@ -165,10 +165,6 @@ SOURCE=..\..\Archive\7z\7zHandler.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\7zHeader.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\7z\7zHeader.h
# End Source File
# Begin Source File
@@ -183,6 +179,10 @@ SOURCE=..\..\Archive\7z\7zIn.h
SOURCE=..\..\Archive\7z\7zRegister.cpp
# End Source File
+# Begin Source File
+
+SOURCE=..\..\Archive\SplitHandler.cpp
+# End Source File
# End Group
# Begin Group "Archive Common"
@@ -221,6 +221,14 @@ SOURCE=..\..\Archive\Common\ItemNameUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Archive\Common\MultiStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Archive\Common\MultiStream.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Archive\Common\OutStreamWithCRC.cpp
# End Source File
# Begin Source File
@@ -313,6 +321,22 @@ SOURCE=..\..\Crypto\MyAes.h
# PROP Default_Filter ""
# Begin Source File
+SOURCE=..\..\UI\FileManager\BrowseDialog.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\BrowseDialog.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\ComboDialog.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\ComboDialog.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\UI\FileManager\MessagesDialog.cpp
# End Source File
# Begin Source File
@@ -429,6 +453,10 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
+SOURCE=..\..\Common\PropId.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Common\StreamBinder.cpp
# End Source File
# Begin Source File
@@ -479,6 +507,14 @@ SOURCE=..\..\UI\FileManager\FormatUtils.cpp
SOURCE=..\..\UI\FileManager\FormatUtils.h
# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\SysIconUtils.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\UI\FileManager\SysIconUtils.h
+# End Source File
# End Group
# Begin Group "Windows"
@@ -488,6 +524,14 @@ SOURCE=..\..\UI\FileManager\FormatUtils.h
# PROP Default_Filter ""
# Begin Source File
+SOURCE=..\..\..\Windows\Control\ComboBox.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Windows\Control\ComboBox.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\Control\Dialog.cpp
# End Source File
# Begin Source File
@@ -505,6 +549,14 @@ SOURCE=..\..\..\Windows\Control\ListView.h
# End Group
# Begin Source File
+SOURCE=..\..\..\Windows\CommonDialog.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Windows\CommonDialog.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Windows\DLL.cpp
# End Source File
# Begin Source File
@@ -513,11 +565,11 @@ SOURCE=..\..\..\Windows\DLL.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.cpp
+SOURCE=..\..\..\Windows\ErrorMsg.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\Error.h
+SOURCE=..\..\..\Windows\ErrorMsg.h
# End Source File
# Begin Source File
@@ -561,11 +613,11 @@ SOURCE=..\..\..\Windows\PropVariant.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.cpp
+SOURCE=..\..\..\Windows\PropVariantConv.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\PropVariantConversions.h
+SOURCE=..\..\..\Windows\PropVariantConv.h
# End Source File
# Begin Source File
@@ -875,11 +927,11 @@ SOURCE=.\7z1.ico
# End Source File
# Begin Source File
-SOURCE=.\Main.cpp
+SOURCE=.\resource.rc
# End Source File
# Begin Source File
-SOURCE=.\resource.rc
+SOURCE=.\SfxWin.cpp
# End Source File
# End Target
# End Project
diff --git a/CPP/7zip/Bundles/SFXWin/SFXWin.dsw b/CPP/7zip/Bundles/SFXWin/SFXWin.dsw
index a9926c71..a9926c71 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/SFXWin.dsw
+++ b/CPP/7zip/Bundles/SFXWin/SFXWin.dsw
diff --git a/CPP/7zip/Bundles/SFXWin/Main.cpp b/CPP/7zip/Bundles/SFXWin/SfxWin.cpp
index bd72fc08..ee57d445 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/Main.cpp
+++ b/CPP/7zip/Bundles/SFXWin/SfxWin.cpp
@@ -2,17 +2,19 @@
#include "StdAfx.h"
-#include "Common/MyInitGuid.h"
+#include <Shlwapi.h>
-#include "Common/CommandLineParser.h"
-#include "Common/StringConvert.h"
+#include "../../../Common/MyInitGuid.h"
-#include "Windows/DLL.h"
-#include "Windows/Error.h"
-#include "Windows/FileDir.h"
-#include "Windows/FileName.h"
-#include "Windows/NtCheck.h"
-#include "Windows/ResourceString.h"
+#include "../../../Common/CommandLineParser.h"
+#include "../../../Common/StringConvert.h"
+
+#include "../../../Windows/DLL.h"
+#include "../../../Windows/ErrorMsg.h"
+#include "../../../Windows/FileDir.h"
+#include "../../../Windows/FileName.h"
+#include "../../../Windows/NtCheck.h"
+#include "../../../Windows/ResourceString.h"
#include "../../ICoder.h"
#include "../../IPassword.h"
@@ -24,12 +26,41 @@
#include "../../UI/GUI/ExtractGUI.h"
#include "../../UI/GUI/ExtractRes.h"
+using namespace NWindows;
+using namespace NFile;
+using namespace NDir;
+
HINSTANCE g_hInstance;
-#ifdef UNDER_CE
-bool g_LVN_ITEMACTIVATE_Support = true;
+#ifndef UNDER_CE
+
+DWORD g_ComCtl32Version;
+
+static DWORD GetDllVersion(LPCTSTR dllName)
+{
+ DWORD dwVersion = 0;
+ HINSTANCE hinstDll = LoadLibrary(dllName);
+ if (hinstDll)
+ {
+ DLLGETVERSIONPROC pDllGetVersion = (DLLGETVERSIONPROC)GetProcAddress(hinstDll, "DllGetVersion");
+ if (pDllGetVersion)
+ {
+ DLLVERSIONINFO dvi;
+ ZeroMemory(&dvi, sizeof(dvi));
+ dvi.cbSize = sizeof(dvi);
+ HRESULT hr = (*pDllGetVersion)(&dvi);
+ if (SUCCEEDED(hr))
+ dwVersion = MAKELONG(dvi.dwMinorVersion, dvi.dwMajorVersion);
+ }
+ FreeLibrary(hinstDll);
+ }
+ return dwVersion;
+}
+
#endif
+bool g_LVN_ITEMACTIVATE_Support = true;
+
static const wchar_t *kUnknownExceptionMessage = L"ERROR: Unknown Error!";
void ErrorMessageForHRESULT(HRESULT res)
@@ -43,6 +74,11 @@ int APIENTRY WinMain2()
#ifndef UNDER_CE
OleInitialize(NULL);
#endif
+
+ #ifndef UNDER_CE
+ g_ComCtl32Version = ::GetDllVersion(TEXT("comctl32.dll"));
+ g_LVN_ITEMACTIVATE_Support = (g_ComCtl32Version >= MAKELONG(71, 4));
+ #endif
UString password;
bool assumeYes = false;
@@ -56,28 +92,39 @@ int APIENTRY WinMain2()
commandStrings.Delete(0);
#endif
- for (int i = 0; i < commandStrings.Size(); i++)
+ FOR_VECTOR (i, commandStrings)
{
const UString &s = commandStrings[i];
- if (s.CompareNoCase(L"-y") == 0)
- assumeYes = true;
- else if (s.Left(2).CompareNoCase(L"-o") == 0)
- {
- outputFolder = us2fs(s.Mid(2));
- NWindows::NFile::NName::NormalizeDirPathPrefix(outputFolder);
- outputFolderDefined = !outputFolder.IsEmpty();
- }
- else if (s.Left(2).CompareNoCase(L"-p") == 0)
+ if (s.Len() > 1 && s[0] == '-')
{
- password = s.Mid(2);
+ wchar_t c = MyCharLower_Ascii(s[1]);
+ if (c == 'y')
+ {
+ assumeYes = true;
+ if (s.Len() != 2)
+ {
+ ShowErrorMessage(L"Bad command");
+ return 1;
+ }
+ }
+ else if (c == 'o')
+ {
+ outputFolder = us2fs(s.Ptr(2));
+ NName::NormalizeDirPathPrefix(outputFolder);
+ outputFolderDefined = !outputFolder.IsEmpty();
+ }
+ else if (c == 'p')
+ {
+ password = s.Ptr(2);
+ }
}
}
FString path;
- NWindows::NDLL::MyGetModuleFileName(path);
+ NDLL::MyGetModuleFileName(path);
FString fullPath;
- if (!NWindows::NFile::NDirectory::MyGetFullPathName(path, fullPath))
+ if (!MyGetFullPathName(path, fullPath))
{
ShowErrorMessage(L"Error 1329484");
return 1;
@@ -109,7 +156,7 @@ int APIENTRY WinMain2()
CExtractOptions eo;
FString dirPrefix;
- if (!NWindows::NFile::NDirectory::GetOnlyDirPrefix(path, dirPrefix))
+ if (!GetOnlyDirPrefix(path, dirPrefix))
{
ShowErrorMessage(L"Error 1329485");
return 1;
@@ -118,19 +165,21 @@ int APIENTRY WinMain2()
eo.OutputDir = outputFolderDefined ? outputFolder : dirPrefix;
eo.YesToAll = assumeYes;
eo.OverwriteMode = assumeYes ?
- NExtract::NOverwriteMode::kWithoutPrompt :
- NExtract::NOverwriteMode::kAskBefore;
- eo.PathMode = NExtract::NPathMode::kFullPathnames;
+ NExtract::NOverwriteMode::kOverwrite :
+ NExtract::NOverwriteMode::kAsk;
+ eo.PathMode = NExtract::NPathMode::kFullPaths;
eo.TestMode = false;
UStringVector v1, v2;
v1.Add(fs2us(fullPath));
v2.Add(fs2us(fullPath));
NWildcard::CCensorNode wildcardCensor;
- wildcardCensor.AddItem(true, L"*", true, true, true);
+ wildcardCensor.AddItem(true, L"*", true, true, true, true);
bool messageWasDisplayed = false;
- result = ExtractGUI(codecs, CIntVector(), v1, v2,
+ result = ExtractGUI(codecs,
+ CObjectVector<COpenType>(), CIntVector(),
+ v1, v2,
wildcardCensor, eo, (assumeYes ? false: true), messageWasDisplayed, ecs);
if (result == S_OK)
diff --git a/CPP/7zip/Bundles/SFXWin/StdAfx.cpp b/CPP/7zip/Bundles/SFXWin/StdAfx.cpp
index d0feea85..d0feea85 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/StdAfx.cpp
+++ b/CPP/7zip/Bundles/SFXWin/StdAfx.cpp
diff --git a/CPP/7zip/Bundles/SFXWin/StdAfx.h b/CPP/7zip/Bundles/SFXWin/StdAfx.h
index c5f7231f..975a17e8 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/StdAfx.h
+++ b/CPP/7zip/Bundles/SFXWin/StdAfx.h
@@ -3,10 +3,12 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include "../../../Common/MyWindows.h"
-#include "../../../Common/NewHandler.h"
+#include "../../../Common/Common.h"
#include <commctrl.h>
#include <ShlObj.h>
+// #define printf(x) NO_PRINTF_(x)
+// #define sprintf(x) NO_SPRINTF_(x)
+
#endif
diff --git a/CPP/7zip/Bundles/SFXWin/makefile b/CPP/7zip/Bundles/SFXWin/makefile
index 458ac665..d6e1de78 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/makefile
+++ b/CPP/7zip/Bundles/SFXWin/makefile
@@ -1,5 +1,5 @@
PROG = 7z.sfx
-CFLAGS = $(CFLAGS) -I ../../../ \
+CFLAGS = $(CFLAGS) \
-DNO_REGISTRY \
-DEXTRACT_ONLY \
-DNO_READ_FROM_CODER \
@@ -11,8 +11,8 @@ LIBS = $(LIBS) ceshell.lib Commctrl.lib
LIBS = $(LIBS) comctl32.lib comdlg32.lib
!ENDIF
-SFX_WIN_OBJS = \
- $O\Main.obj \
+CURRENT_OBJS = \
+ $O\SfxWin.obj \
GUI_OBJS = \
$O\ExtractDialog.obj \
@@ -29,20 +29,22 @@ COMMON_OBJS = \
$O\Wildcard.obj \
WIN_OBJS = \
+ $O\CommonDialog.obj \
$O\DLL.obj \
- $O\Error.obj \
+ $O\ErrorMsg.obj \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
$O\FileName.obj \
$O\PropVariant.obj \
- $O\PropVariantConversions.obj \
+ $O\PropVariantConv.obj \
$O\ResourceString.obj \
$O\Shell.obj \
$O\Synchronization.obj \
$O\Window.obj \
WIN_CTRL_OBJS = \
+ $O\ComboBox.obj \
$O\Dialog.obj \
$O\ListView.obj \
@@ -57,6 +59,7 @@ WIN_CTRL_OBJS = \
$O\LockedStream.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
+ $O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
@@ -71,24 +74,28 @@ UI_COMMON_OBJS = \
$O\LoadCodecs.obj \
$O\OpenArchive.obj \
+EXPLORER_OBJS = \
+ $O\MyMessages.obj \
+
FM_OBJS = \
+ $O\BrowseDialog.obj \
+ $O\ComboDialog.obj \
$O\ExtractCallback.obj \
$O\FormatUtils.obj \
$O\OverwriteDialog.obj \
$O\PasswordDialog.obj \
$O\ProgressDialog2.obj \
-
-!IFDEF UNDER_CE
-FM_OBJS = $(FM_OBJS) \
- $O\BrowseDialog.obj \
$O\SysIconUtils.obj \
-!ENDIF
+
+AR_OBJS = \
+ $O\SplitHandler.obj \
AR_COMMON_OBJS = \
$O\CoderMixer2.obj \
$O\CoderMixer2MT.obj \
$O\CrossThreadProgress.obj \
$O\ItemNameUtils.obj \
+ $O\MultiStream.obj \
$O\OutStreamWithCRC.obj \
7Z_OBJS = \
@@ -96,7 +103,6 @@ AR_COMMON_OBJS = \
$O\7zExtract.obj \
$O\7zFolderOutStream.obj \
$O\7zHandler.obj \
- $O\7zHeader.obj \
$O\7zIn.obj \
$O\7zRegister.obj \
@@ -134,58 +140,4 @@ C_OBJS = \
!include "../../Aes.mak"
!include "../../Crc.mak"
-OBJS = \
- $O\StdAfx.obj \
- $(SFX_WIN_OBJS) \
- $(GUI_OBJS) \
- $(COMMON_OBJS) \
- $(WIN_OBJS) \
- $(WIN_CTRL_OBJS) \
- $(7ZIP_COMMON_OBJS) \
- $(UI_COMMON_OBJS) \
- $(FM_OBJS)\
- $(AR_COMMON_OBJS) \
- $(7Z_OBJS) \
- $(COMPRESS_OBJS) \
- $(CRYPTO_OBJS) \
- $O\MyMessages.obj \
- $(C_OBJS) \
- $(ASM_OBJS) \
- $O\resource.res
-
-
-!include "../../../Build.mak"
-
-$(SFX_WIN_OBJS): $(*B).cpp
- $(COMPL)
-
-$(GUI_OBJS): ../../UI/GUI/$(*B).cpp
- $(COMPL)
-$(COMMON_OBJS): ../../../Common/$(*B).cpp
- $(COMPL)
-$(WIN_OBJS): ../../../Windows/$(*B).cpp
- $(COMPL)
-$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
- $(COMPL)
-$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
- $(COMPL)
-$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
- $(COMPL)
-$(FM_OBJS): ../../UI/FileManager/$(*B).cpp
- $(COMPL)
-$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
- $(COMPL)
-
-$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
- $(COMPL)
-$(COMPRESS_OBJS): ../../Compress/$(*B).cpp
- $(COMPL)
-$(CRYPTO_OBJS): ../../Crypto/$(*B).cpp
- $(COMPL)
-
-$O\MyMessages.obj: ../../UI/Explorer/MyMessages.cpp
- $(COMPL)
-$(C_OBJS): ../../../../C/$(*B).c
- $(COMPL_O2)
-
-!include "../../Asm.mak"
+!include "../../7zip.mak"
diff --git a/CPP/7zip/Bundles/SFXWin/resource.h b/CPP/7zip/Bundles/SFXWin/resource.h
index 99878ee6..30fe2030 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/resource.h
+++ b/CPP/7zip/Bundles/SFXWin/resource.h
@@ -1 +1 @@
-#define IDI_ICON 1
+#define IDI_ICON 1
diff --git a/CPP/7zip/Bundles/SFXWin/resource.rc b/CPP/7zip/Bundles/SFXWin/resource.rc
index 35234cae..91292b2f 100755..100644
--- a/CPP/7zip/Bundles/SFXWin/resource.rc
+++ b/CPP/7zip/Bundles/SFXWin/resource.rc
@@ -1,6 +1,8 @@
#include "../../MyVersionInfo.rc"
#include "../../GuiCommon.rc"
#include "../../UI/GUI/ExtractDialogRes.h"
+#include "../../UI/FileManager/PropertyNameRes.h"
+
#include "resource.h"
MY_VERSION_INFO_APP("7z SFX", "7z.sfx")
@@ -10,14 +12,14 @@ MY_VERSION_INFO_APP("7z SFX", "7z.sfx")
IDI_ICON ICON "7z.ico"
-IDD_DIALOG_EXTRACT MY_DIALOG
+IDD_EXTRACT DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT
CAPTION "7-Zip self-extracting archive"
BEGIN
- LTEXT "E&xtract to:", IDC_STATIC_EXTRACT_EXTRACT_TO, m, m, xc, 8
- EDITTEXT IDC_EXTRACT_COMBO_PATH, m, 21, xc - bxsDots - 12, 14, ES_AUTOHSCROLL
- PUSHBUTTON "...", IDC_EXTRACT_BUTTON_SET_PATH, xs - m - bxsDots, 20, bxsDots, bys, WS_GROUP
- DEFPUSHBUTTON "Extract", IDOK, bx2, by, bxs, bys, WS_GROUP
- PUSHBUTTON "Cancel", IDCANCEL, bx1, by, bxs, bys
+ LTEXT "E&xtract to:", IDT_EXTRACT_EXTRACT_TO, m, m, xc, 8
+ EDITTEXT IDC_EXTRACT_PATH, m, 21, xc - bxsDots - 12, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "...", IDB_EXTRACT_SET_PATH, xs - m - bxsDots, 20, bxsDots, bys, WS_GROUP
+ DEFPUSHBUTTON "Extract", IDOK, bx2, by, bxs, bys, WS_GROUP
+ PUSHBUTTON "Cancel", IDCANCEL, bx1, by, bxs, bys
END
#ifdef UNDER_CE
@@ -25,14 +27,14 @@ END
#undef xc
#define xc 144
-IDD_DIALOG_EXTRACT_2 MY_DIALOG
+IDD_EXTRACT_2 DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT
CAPTION "7-Zip self-extracting archive"
BEGIN
- LTEXT "E&xtract to:", IDC_STATIC_EXTRACT_EXTRACT_TO, m, m, xc - bxsDots - 12, 8
- EDITTEXT IDC_EXTRACT_COMBO_PATH, m, m + bys + 4, xc, 14, ES_AUTOHSCROLL
- PUSHBUTTON "...", IDC_EXTRACT_BUTTON_SET_PATH, xs - m - bxsDots, m, bxsDots, bys, WS_GROUP
- DEFPUSHBUTTON "Extract", IDOK, bx2, by, bxs, bys, WS_GROUP
- PUSHBUTTON "Cancel", IDCANCEL, bx1, by, bxs, bys
+ LTEXT "E&xtract to:", IDT_EXTRACT_EXTRACT_TO, m, m, xc - bxsDots - 12, 8
+ EDITTEXT IDC_EXTRACT_PATH, m, m + bys + 4, xc, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "...", IDB_EXTRACT_SET_PATH, xs - m - bxsDots, m, bxsDots, bys, WS_GROUP
+ DEFPUSHBUTTON "Extract", IDOK, bx2, by, bxs, bys, WS_GROUP
+ PUSHBUTTON "Cancel", IDCANCEL, bx1, by, bxs, bys
END
#endif
@@ -41,3 +43,8 @@ END
#include "../../UI/FileManager/PasswordDialog.rc"
#include "../../UI/FileManager/ProgressDialog2.rc"
#include "../../UI/GUI/Extract.rc"
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_PROP_MTIME "Modified"
+END
diff --git a/CPP/7zip/Bundles/makefile b/CPP/7zip/Bundles/makefile
index e3b4b88f..e3b4b88f 100755..100644
--- a/CPP/7zip/Bundles/makefile
+++ b/CPP/7zip/Bundles/makefile