[RAPPS]
[reactos.git] / reactos / base / applications / rapps / misc.cpp
index 250d40c..b1c2938 100644 (file)
@@ -5,12 +5,13 @@
  * PURPOSE:     Misc functions
  * COPYRIGHT:   Copyright 2009 Dmitry Chapyshev           (dmitry@reactos.org)
  *              Copyright 2015 Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
- *              Copyright 2017 Alexander Shaposhnikov     (chaez.san@gmail.com)
+ *              Copyright 2017 Alexander Shaposhnikov     (sanchaez@reactos.org)
  */
-#include "defines.h"
+#include "rapps.h"
 
 #include "gui.h"
 #include "misc.h"
+#include "cabinet.h"
 
  /* SESSION Operation */
 #define EXTRACT_FILLFILELIST  0x00000001
 
 static HANDLE hLog = NULL;
 
-struct ERF
-{
-    INT erfOper;
-    INT erfType;
-    BOOL fError;
-};
-
-struct FILELIST
-{
-    LPSTR FileName;
-    FILELIST *next;
-    BOOL DoExtract;
-};
-
-struct SESSION
-{
-    INT FileSize;
-    ERF Error;
-    FILELIST *FileList;
-    INT FileCount;
-    INT Operation;
-    CHAR Destination[MAX_PATH];
-    CHAR CurrentFile[MAX_PATH];
-    CHAR Reserved[MAX_PATH];
-    FILELIST *FilterList;
-};
-
-typedef HRESULT(WINAPI *fnExtract)(SESSION *dest, LPCSTR szCabName);
-fnExtract pfnExtract;
-
 INT GetWindowWidth(HWND hwnd)
 {
     RECT Rect;
@@ -243,7 +214,8 @@ BOOL ExtractFilesFromCab(LPCWSTR lpCabName, LPCWSTR lpOutputPath)
     CHAR szCabName[MAX_PATH];
     SESSION Dest;
     HRESULT Result;
-
+    fnExtract pfnExtract;
+    
     hCabinetDll = LoadLibraryW(L"cabinet.dll");
     if (hCabinetDll)
     {
@@ -352,14 +324,14 @@ BOOL WriteLogMessage(WORD wType, DWORD dwEventID, LPCWSTR lpMsg)
 }
 
 BOOL GetInstalledVersion_WowUser(ATL::CStringW* szVersionResult,
-                                 const ATL::CStringW& RegName,
+                                 const ATL::CStringW& szRegName,
                                  BOOL IsUserKey,
                                  REGSAM keyWow)
 {
     BOOL bHasSucceded = FALSE;
     ATL::CRegKey key;
     ATL::CStringW szVersion;
-    ATL::CStringW szPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + RegName;
+    ATL::CStringW szPath = ATL::CStringW(L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\%ls") + szRegName;
 
     if (key.Open(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
                  szPath.GetString(),
@@ -417,7 +389,7 @@ ATL::CStringW CConfigParser::GetINIFullPath(const ATL::CStringW& FileName)
     ATL::CStringW szBuffer;
 
     GetStorageDirectory(szDir);
-    szBuffer.Format(L"%ls\\rapps\\%ls", szDir, FileName);
+    szBuffer.Format(L"%ls\\rapps\\%ls", szDir.GetString(), FileName.GetString());
 
     return szBuffer;
 }