From 48eeccaf9243329451235826d5cc06a0712d1596 Mon Sep 17 00:00:00 2001 From: Cyberbeing Date: Sun, 18 Nov 2012 03:33:38 -0800 Subject: [PATCH] Support unrar64.dll --- src/subtitles/VobSubFile.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/subtitles/VobSubFile.cpp b/src/subtitles/VobSubFile.cpp index 5663942..e9efab4 100644 --- a/src/subtitles/VobSubFile.cpp +++ b/src/subtitles/VobSubFile.cpp @@ -688,19 +688,20 @@ static int PASCAL MyProcessDataProc(unsigned char* Addr, int Size) bool CVobSubFile::ReadRar(CString fn) { - HMODULE h = LoadLibrary(_T("unrar.dll")); +#ifdef _WIN64 + HMODULE h = LoadLibrary(_T("unrar64.dll")); +#else + HMODULE h = LoadLibrary(_T("unrar.dll")); +#endif if(!h) return(false); RAROpenArchiveEx OpenArchiveEx = (RAROpenArchiveEx)GetProcAddress(h, "RAROpenArchiveEx"); RARCloseArchive CloseArchive = (RARCloseArchive)GetProcAddress(h, "RARCloseArchive"); RARReadHeaderEx ReadHeaderEx = (RARReadHeaderEx)GetProcAddress(h, "RARReadHeaderEx"); RARProcessFile ProcessFile = (RARProcessFile)GetProcAddress(h, "RARProcessFile"); - RARSetChangeVolProc SetChangeVolProc = (RARSetChangeVolProc)GetProcAddress(h, "RARSetChangeVolProc"); RARSetProcessDataProc SetProcessDataProc = (RARSetProcessDataProc)GetProcAddress(h, "RARSetProcessDataProc"); - RARSetPassword SetPassword = (RARSetPassword)GetProcAddress(h, "RARSetPassword"); - if(!(OpenArchiveEx && CloseArchive && ReadHeaderEx && ProcessFile - && SetChangeVolProc && SetProcessDataProc && SetPassword)) + if(!(OpenArchiveEx && CloseArchive && ReadHeaderEx && ProcessFile && SetProcessDataProc)) { FreeLibrary(h); return(false); -- 2.11.4.GIT