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

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2013-09-03 17:17:42 +0400
committerXhmikosR <xhmikosr@users.sourceforge.net>2013-09-04 18:35:28 +0400
commitc262e3a25ee58d9dbfc8f5dfac9afc8d0ff40330 (patch)
tree48c192017d8a72b91a2a5102bd47247c3a987b9a /src
parent826213e9b96c76367a3fd71730a9410e54dd0698 (diff)
Update Unrar to 5.0.0 (stable).
Diffstat (limited to 'src')
-rw-r--r--src/thirdparty/unrar/archive.cpp1
-rw-r--r--src/thirdparty/unrar/dll.rc8
-rw-r--r--src/thirdparty/unrar/list.cpp22
-rw-r--r--src/thirdparty/unrar/options.hpp1
-rw-r--r--src/thirdparty/unrar/pathfn.cpp4
-rw-r--r--src/thirdparty/unrar/version.hpp4
-rw-r--r--src/thirdparty/unrar/volume.cpp1
7 files changed, 34 insertions, 7 deletions
diff --git a/src/thirdparty/unrar/archive.cpp b/src/thirdparty/unrar/archive.cpp
index 16599e404..bf54c89e1 100644
--- a/src/thirdparty/unrar/archive.cpp
+++ b/src/thirdparty/unrar/archive.cpp
@@ -131,6 +131,7 @@ RARFORMAT Archive::IsSignature(const byte *D,size_t Size)
bool Archive::IsArchive(bool EnableBroken)
{
Encrypted=false;
+ BrokenHeader=false; // Might be left from previous volume.
#ifdef USE_QOPEN
QOpen.Unload();
#endif
diff --git a/src/thirdparty/unrar/dll.rc b/src/thirdparty/unrar/dll.rc
index cc229a2b2..6a91d1a9a 100644
--- a/src/thirdparty/unrar/dll.rc
+++ b/src/thirdparty/unrar/dll.rc
@@ -2,8 +2,8 @@
#include <commctrl.h>
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 0, 8, 945
-PRODUCTVERSION 5, 0, 8, 945
+FILEVERSION 5, 0, 100, 965
+PRODUCTVERSION 5, 0, 100, 965
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
@@ -14,8 +14,8 @@ FILETYPE VFT_APP
VALUE "CompanyName", "Alexander Roshal\0"
VALUE "ProductName", "RAR decompression library\0"
VALUE "FileDescription", "RAR decompression library\0"
- VALUE "FileVersion", "5.0.8\0"
- VALUE "ProductVersion", "5.0.8\0"
+ VALUE "FileVersion", "5.0.0\0"
+ VALUE "ProductVersion", "5.0.0\0"
VALUE "LegalCopyright", "Copyright © Alexander Roshal 1993-2013\0"
VALUE "OriginalFilename", "Unrar.dll\0"
}
diff --git a/src/thirdparty/unrar/list.cpp b/src/thirdparty/unrar/list.cpp
index abc3c7dc3..7f1e3cd95 100644
--- a/src/thirdparty/unrar/list.cpp
+++ b/src/thirdparty/unrar/list.cpp
@@ -270,7 +270,27 @@ void ListFileHeader(Archive &Arc,FileHeader &hd,bool &TitleShown,bool Verbose,bo
}
mprintf(L"\n%12ls: %ls",St(MListType),Type);
if (hd.RedirType!=FSREDIR_NONE)
- mprintf(L"\n%12ls: %ls",St(MListTarget),hd.RedirName);
+ if (Format==RARFMT15)
+ {
+ char LinkTargetA[NM];
+ if (Arc.FileHead.Encrypted)
+ {
+ // Link data are encrypted. We would need to ask for password
+ // and initialize decryption routine to display the link target.
+ strncpyz(LinkTargetA,"*<-?->",ASIZE(LinkTargetA));
+ }
+ else
+ {
+ int DataSize=(int)Min(hd.PackSize,ASIZE(LinkTargetA)-1);
+ Arc.Read(LinkTargetA,DataSize);
+ LinkTargetA[DataSize > 0 ? DataSize : 0] = 0;
+ }
+ wchar LinkTarget[NM];
+ CharToWide(LinkTargetA,LinkTarget,ASIZE(LinkTarget));
+ mprintf(L"\n%12ls: %ls",St(MListTarget),LinkTarget);
+ }
+ else
+ mprintf(L"\n%12ls: %ls",St(MListTarget),hd.RedirName);
}
if (!hd.Dir)
{
diff --git a/src/thirdparty/unrar/options.hpp b/src/thirdparty/unrar/options.hpp
index bf8c8e74c..283297c53 100644
--- a/src/thirdparty/unrar/options.hpp
+++ b/src/thirdparty/unrar/options.hpp
@@ -168,6 +168,7 @@ class RAROptions
+
#ifdef RARDLL
wchar DllDestName[NM];
int DllOpMode;
diff --git a/src/thirdparty/unrar/pathfn.cpp b/src/thirdparty/unrar/pathfn.cpp
index 7cd485842..080996297 100644
--- a/src/thirdparty/unrar/pathfn.cpp
+++ b/src/thirdparty/unrar/pathfn.cpp
@@ -973,6 +973,10 @@ bool GetWinLongPath(const wchar *Src,wchar *Dest,size_t MaxSize)
return false;
wcsncpy(Dest,Prefix,PrefixLength);
wcscpy(Dest+PrefixLength,CurDir);
+
+ if (Src[0]=='.' && IsPathDiv(Src[1])) // Remove leading .\ in pathname.
+ Src+=2;
+
wcsncatz(Dest,Src,MaxSize);
return true;
}
diff --git a/src/thirdparty/unrar/version.hpp b/src/thirdparty/unrar/version.hpp
index 50f490638..183d26e59 100644
--- a/src/thirdparty/unrar/version.hpp
+++ b/src/thirdparty/unrar/version.hpp
@@ -1,6 +1,6 @@
#define RARVER_MAJOR 5
#define RARVER_MINOR 0
-#define RARVER_BETA 8
-#define RARVER_DAY 2
+#define RARVER_BETA 0
+#define RARVER_DAY 22
#define RARVER_MONTH 8
#define RARVER_YEAR 2013
diff --git a/src/thirdparty/unrar/volume.cpp b/src/thirdparty/unrar/volume.cpp
index de9d2424f..6fcab7624 100644
--- a/src/thirdparty/unrar/volume.cpp
+++ b/src/thirdparty/unrar/volume.cpp
@@ -32,6 +32,7 @@ bool MergeArchive(Archive &Arc,ComprDataIO *DataIO,bool ShowFileName,wchar Comma
if (DataIO!=NULL)
DataIO->ProcessedArcSize+=Arc.FileLength();
+
Arc.Close();
wchar NextName[NM];