Oh, I forgot. If you don't know what 7-Zip is, visit http://www.7-zip.org/ . It is a very good compression utility. Binary commandline version works flawlessly on Wine. So I am trying to port it to Winelib.
Good thing is that its 7z format compresses much better than bzip2, extracts faster than bzip2, and patent-free.
Did some more monkeypatching, for today is holiday (in Korea).
117 files compiled, (to compile standalone commandline 134 files need to be compiled) patches are still under 50 lines. Looks good.
Following archiving backends are compiled: Arj BZip2 Deb GZip RPM Rar Split Tar cpio. 7z, Cab and Zip needs some works.
Summary of patches I did follows:
* * *
In Common.patch: Common/CommandLineParser.h include wchar.h. Common/IntToString.h include sys/types.h. Common/Vector.h include stddef.h Common/Wildcard.h copy to WildCard.h, case problem.
In Windows.patch: Windows/Console.h PINPUT_RECORD -> LPINPUT_RECORD. Windows/FileFind.h define missing constants. Windows/ItemIDListUtils.h include shtypes.h and shlobj.h. Windows/Net.cpp cast to const. Windows/Shell.h include shtypes.h and shlobj.h. Windows/Time.h define UInt32x32To64.
In 7zip.patch: 7zip/Archive/Arj/ArjIn.h include ArjHeader.h. 7zip/Archive/Deb/DebIn.cpp fix 64bit literal. 7zip/Archive/Rar/RarHandler.cpp fix loop variable scope. 7zip/Archive/Rar/RarItem.cpp StdAfx.h, case problem. 7zip/Archive/cpio/CpioHandler.cpp fix loop variable scope. 7zip/Archive/cpio/CpioIn.cpp fix 64bit literal. 7zip/Common/InBuffer.cpp StdAfx.h, case problem. 7zip/IMyUnknown.h ignore basetype.h for now.