summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-09-24 19:51:51 +0200
committerTannin <devnull@localhost>2014-09-24 19:51:51 +0200
commit93bd29c13d3355b2544c2fd40dff1f4f985f9b57 (patch)
tree9f07f3c0e7d9e9bac8a27d511e6dfdd06f42344b /src/shared
parent637ce6bcc1b10198eb2a21570b6a97e122814f55 (diff)
- several style fixes suggested by static analysis
- will now support up to 4 levels of version numbers (major.minor.subminor.subsubminor
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/directoryentry.cpp6
-rw-r--r--src/shared/directoryentry.h2
-rw-r--r--src/shared/fallout3info.cpp21
-rw-r--r--src/shared/fallout3info.h6
-rw-r--r--src/shared/falloutnvinfo.cpp58
-rw-r--r--src/shared/falloutnvinfo.h6
-rw-r--r--src/shared/gameinfo.cpp40
-rw-r--r--src/shared/leaktrace.cpp2
-rw-r--r--src/shared/oblivioninfo.cpp21
-rw-r--r--src/shared/oblivioninfo.h6
-rw-r--r--src/shared/skyriminfo.cpp53
-rw-r--r--src/shared/skyriminfo.h8
12 files changed, 98 insertions, 131 deletions
diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp
index 5d785822..24868a93 100644
--- a/src/shared/directoryentry.cpp
+++ b/src/shared/directoryentry.cpp
@@ -325,13 +325,13 @@ static bool ByOriginPriority(DirectoryEntry *entry, int LHS, int RHS)
FileEntry::FileEntry()
- : m_Index(UINT_MAX), m_Name(), m_Parent(NULL), m_LastAccessed(time(NULL))
+ : m_Index(UINT_MAX), m_Name(), m_Origin(-1), m_Parent(NULL), m_LastAccessed(time(NULL))
{
LEAK_TRACE;
}
FileEntry::FileEntry(Index index, const std::wstring &name, DirectoryEntry *parent)
- : m_Index(index), m_Name(name), m_Parent(parent), m_Origin(-1), m_Archive(L""), m_LastAccessed(time(NULL))
+ : m_Index(index), m_Name(name), m_Origin(-1), m_Parent(parent), m_Archive(L""), m_LastAccessed(time(NULL))
{
LEAK_TRACE;
}
@@ -636,7 +636,7 @@ void DirectoryEntry::insertFile(const std::wstring &filePath, FilesOrigin &origi
void DirectoryEntry::removeFile(FileEntry::Index index)
{
- if (m_Files.size() != 0) {
+ if (!m_Files.empty()) {
auto iter = std::find_if(m_Files.begin(), m_Files.end(),
[&index](const std::pair<std::wstring, FileEntry::Index> &iter) -> bool {
return iter.second == index; } );
diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h
index 096f373e..d588ab02 100644
--- a/src/shared/directoryentry.h
+++ b/src/shared/directoryentry.h
@@ -219,7 +219,7 @@ public:
void clear();
bool isPopulated() const { return m_Populated; }
- bool isEmpty() const { return (m_Files.size() == 0) && (m_SubDirectories.size() == 0); }
+ bool isEmpty() const { return m_Files.empty() && m_SubDirectories.empty(); }
const DirectoryEntry *getParent() const { return m_Parent; }
diff --git a/src/shared/fallout3info.cpp b/src/shared/fallout3info.cpp
index 9487d2de..22db91ac 100644
--- a/src/shared/fallout3info.cpp
+++ b/src/shared/fallout3info.cpp
@@ -54,15 +54,17 @@ std::wstring Fallout3Info::getRegPathStatic()
0, KEY_QUERY_VALUE, &key);
if (errorcode != ERROR_SUCCESS) {
- return L"";
+ return std::wstring();
}
WCHAR temp[MAX_PATH];
DWORD bufferSize = MAX_PATH;
- errorcode = ::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize);
-
- return std::wstring(temp);
+ if (::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize) == ERROR_SUCCESS) {
+ return std::wstring(temp);
+ } else {
+ return std::wstring();
+ }
}
std::wstring Fallout3Info::getInvalidationBSA()
@@ -233,15 +235,12 @@ void Fallout3Info::createProfile(const std::wstring &directory, bool useDefaults
}
}
{ // copy falloutprefs.ini-file
- std::wstring target = directory.substr().append(L"\\falloutprefs.ini");
+ std::wstring target = directory + L"\\falloutprefs.ini";
if (!FileExists(target)) {
- std::wostringstream source;
- source << getMyGamesDirectory() << L"\\Fallout3\\falloutprefs.ini";
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
+ std::wstring source = getMyGamesDirectory() + L"\\Fallout3\\falloutprefs.ini";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
if (::GetLastError() != ERROR_FILE_EXISTS) {
- std::ostringstream stream;
- stream << "failed to copy ini file: " << ToString(source.str(), false);
- throw windows_error(stream.str());
+ throw windows_error(std::string("failed to copy ini file: ") + ToString(source, false));
}
}
}
diff --git a/src/shared/fallout3info.h b/src/shared/fallout3info.h
index 8e4c260d..d1356de1 100644
--- a/src/shared/fallout3info.h
+++ b/src/shared/fallout3info.h
@@ -38,7 +38,7 @@ public:
virtual unsigned long getBSAVersion();
static std::wstring getRegPathStatic();
- virtual std::wstring getRegPath() { return Fallout3Info::getRegPathStatic(); }
+ virtual std::wstring getRegPath() { return getRegPathStatic(); }
virtual std::wstring getBinaryName() { return L"Fallout3.exe"; }
virtual GameInfo::Type getType() { return TYPE_FALLOUT3; }
@@ -75,9 +75,9 @@ public:
virtual std::wstring getNexusPage(bool nmmScheme = true);
static std::wstring getNexusInfoUrlStatic();
- virtual std::wstring getNexusInfoUrl() { return Fallout3Info::getNexusInfoUrlStatic(); }
+ virtual std::wstring getNexusInfoUrl() { return getNexusInfoUrlStatic(); }
static int getNexusModIDStatic();
- virtual int getNexusModID() { return Fallout3Info::getNexusModIDStatic(); }
+ virtual int getNexusModID() { return getNexusModIDStatic(); }
virtual int getNexusGameID() { return 120; }
virtual void createProfile(const std::wstring &directory, bool useDefaults);
diff --git a/src/shared/falloutnvinfo.cpp b/src/shared/falloutnvinfo.cpp
index 9bba7fe4..0dde4db1 100644
--- a/src/shared/falloutnvinfo.cpp
+++ b/src/shared/falloutnvinfo.cpp
@@ -55,15 +55,17 @@ std::wstring FalloutNVInfo::getRegPathStatic()
0, KEY_QUERY_VALUE, &key);
if (errorcode != ERROR_SUCCESS) {
- return L"";
+ return std::wstring();
}
WCHAR temp[MAX_PATH];
DWORD bufferSize = MAX_PATH;
- errorcode = ::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize);
-
- return std::wstring(temp);
+ if (::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize) == ERROR_SUCCESS) {
+ return std::wstring(temp);
+ } else {
+ return std::wstring();
+ }
}
std::wstring FalloutNVInfo::getInvalidationBSA()
@@ -162,56 +164,46 @@ std::wstring FalloutNVInfo::getSteamAPPId(int) const
void FalloutNVInfo::createProfile(const std::wstring &directory, bool useDefaults)
{
- std::wostringstream target;
+ std::wstring target = directory + L"\\plugins.txt";
// copy plugins.txt
- target << directory << "\\plugins.txt";
-
- if (!FileExists(target.str())) {
- std::wostringstream source;
- source << getLocalAppFolder() << "\\FalloutNV\\plugins.txt";
- if (!::CopyFileW(source.str().c_str(), target.str().c_str(), true)) {
- HANDLE file = ::CreateFileW(target.str().c_str(), GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (!FileExists(target)) {
+ std::wstring source = getLocalAppFolder() + L"\\FalloutNV\\plugins.txt";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
+ HANDLE file = ::CreateFileW(target.c_str(), GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
::CloseHandle(file);
}
}
// copy ini-file
- target.str(L""); target.clear();
- target << directory << L"\\fallout.ini";
+ target = directory + L"\\fallout.ini";
- if (!FileExists(target.str())) {
- std::wostringstream source;
+ if (!FileExists(target)) {
+ std::wstring source;
if (useDefaults) {
- source << getGameDirectory() << L"\\fallout_default.ini";
+ source = getGameDirectory() + L"\\fallout_default.ini";
} else {
- source << getMyGamesDirectory() << L"\\FalloutNV";
- if (FileExists(source.str(), L"fallout.ini")) {
- source << L"\\fallout.ini";
+ source = getMyGamesDirectory() + L"\\FalloutNV";
+ if (FileExists(source, L"fallout.ini")) {
+ source += L"\\fallout.ini";
} else {
- source.str(L"");
- source << getGameDirectory() << L"\\fallout_default.ini";
+ source = getGameDirectory() + L"\\fallout_default.ini";
}
}
- if (!::CopyFileW(source.str().c_str(), target.str().c_str(), true)) {
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
if (::GetLastError() != ERROR_FILE_EXISTS) {
- std::ostringstream stream;
- stream << "failed to copy ini file: " << ToString(source.str(), false);
- throw windows_error(stream.str());
+ throw windows_error("failed to copy ini file: " + ToString(source, false));
}
}
}
{ // copy falloutprefs.ini-file
- std::wstring target = directory.substr().append(L"\\falloutprefs.ini");
+ std::wstring target = directory + L"\\falloutprefs.ini";
if (!FileExists(target)) {
- std::wostringstream source;
- source << getMyGamesDirectory() << L"\\FalloutNV\\falloutprefs.ini";
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
+ std::wstring source = getMyGamesDirectory() + L"\\FalloutNV\\falloutprefs.ini";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
if (::GetLastError() != ERROR_FILE_EXISTS) {
- std::ostringstream stream;
- stream << "failed to copy ini file: " << ToString(source.str(), false);
- throw windows_error(stream.str());
+ throw windows_error("failed to copy ini file: " + ToString(source, false));
}
}
}
diff --git a/src/shared/falloutnvinfo.h b/src/shared/falloutnvinfo.h
index cfd373c7..50a0d00d 100644
--- a/src/shared/falloutnvinfo.h
+++ b/src/shared/falloutnvinfo.h
@@ -38,7 +38,7 @@ public:
virtual unsigned long getBSAVersion();
static std::wstring getRegPathStatic();
- virtual std::wstring getRegPath() { return FalloutNVInfo::getRegPathStatic(); }
+ virtual std::wstring getRegPath() { return getRegPathStatic(); }
virtual std::wstring getBinaryName() { return L"FalloutNV.exe"; }
virtual GameInfo::Type getType() { return TYPE_FALLOUTNV; }
@@ -76,9 +76,9 @@ public:
virtual std::wstring getNexusPage(bool nmmScheme = true);
static std::wstring getNexusInfoUrlStatic();
- virtual std::wstring getNexusInfoUrl() { return FalloutNVInfo::getNexusInfoUrlStatic(); }
+ virtual std::wstring getNexusInfoUrl() { return getNexusInfoUrlStatic(); }
static int getNexusModIDStatic();
- virtual int getNexusModID() { return FalloutNVInfo::getNexusModIDStatic(); }
+ virtual int getNexusModID() { return getNexusModIDStatic(); }
virtual int getNexusGameID() { return 130; }
virtual void createProfile(const std::wstring &directory, bool useDefaults);
diff --git a/src/shared/gameinfo.cpp b/src/shared/gameinfo.cpp
index 21e9a586..5439efff 100644
--- a/src/shared/gameinfo.cpp
+++ b/src/shared/gameinfo.cpp
@@ -57,7 +57,7 @@ void GameInfo::identifyMyGamesDirectory(const std::wstring &file)
{
// this function attempts 3 (three!) ways to determine the correct "My Games" folder.
wchar_t myDocuments[MAX_PATH];
- memset(myDocuments, '\0', MAX_PATH);
+ memset(myDocuments, '\0', MAX_PATH * sizeof(wchar_t));
m_MyGamesDirectory.clear();
@@ -137,71 +137,53 @@ std::wstring GameInfo::getGameDirectory() const
std::wstring GameInfo::getModsDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << L"\\mods";
- return temp.str();
+ return m_OrganizerDirectory + L"\\mods";
}
std::wstring GameInfo::getProfilesDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << L"\\profiles";
- return temp.str();
+ return m_OrganizerDirectory + L"\\profiles";
}
std::wstring GameInfo::getIniFilename() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << L"\\ModOrganizer.ini";
- return temp.str();
+ return m_OrganizerDirectory + L"\\ModOrganizer.ini";
}
std::wstring GameInfo::getDownloadDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << L"\\downloads";
- return temp.str();
+ return m_OrganizerDirectory + L"\\downloads";
}
std::wstring GameInfo::getCacheDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << L"\\webcache";
- return temp.str();
+ return m_OrganizerDirectory + L"\\webcache";
}
std::wstring GameInfo::getOverwriteDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << "\\overwrite";
- return temp.str();
+ return m_OrganizerDirectory + L"\\overwrite";
}
std::wstring GameInfo::getLogDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDataDirectory << "\\logs";
- return temp.str();
+ return m_OrganizerDirectory + L"\\logs";
}
std::wstring GameInfo::getLootDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDirectory << "\\loot";
- return temp.str();
+ return m_OrganizerDirectory + L"\\loot";
}
std::wstring GameInfo::getTutorialDir() const
{
- std::wostringstream temp;
- temp << m_OrganizerDirectory << "\\tutorials";
- return temp.str();
+ return m_OrganizerDirectory + L"\\tutorials";
}
@@ -219,7 +201,7 @@ std::vector<std::wstring> GameInfo::getSteamVariants() const
std::wstring GameInfo::getLocalAppFolder() const
{
wchar_t localAppFolder[MAX_PATH];
- memset(localAppFolder, '\0', MAX_PATH);
+ memset(localAppFolder, '\0', MAX_PATH * sizeof(wchar_t));
if (::SHGetFolderPathW(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, localAppFolder) == S_OK) {
return localAppFolder;
diff --git a/src/shared/leaktrace.cpp b/src/shared/leaktrace.cpp
index 68e57609..729eb42e 100644
--- a/src/shared/leaktrace.cpp
+++ b/src/shared/leaktrace.cpp
@@ -36,7 +36,7 @@ class StackData {
public:
StackData()
- : m_FunctionName("Dummy"), m_CodeLine(0)
+ : m_Count(0), m_Hash(0UL), m_FunctionName("Dummy"), m_CodeLine(0)
{}
StackData(const char *functionName, int line) {
m_Count = ::CaptureStackBackTrace(FRAMES_TO_SKIP, FRAMES_TO_CAPTURE, m_Stack, &m_Hash);
diff --git a/src/shared/oblivioninfo.cpp b/src/shared/oblivioninfo.cpp
index f317812f..790fcdb0 100644
--- a/src/shared/oblivioninfo.cpp
+++ b/src/shared/oblivioninfo.cpp
@@ -55,15 +55,17 @@ std::wstring OblivionInfo::getRegPathStatic()
0, KEY_QUERY_VALUE, &key);
if (errorcode != ERROR_SUCCESS) {
- return L"";
+ return std::wstring();
}
WCHAR temp[MAX_PATH];
DWORD bufferSize = MAX_PATH;
- errorcode = ::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize);
-
- return std::wstring(temp);
+ if (::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize) == ERROR_SUCCESS) {
+ return std::wstring(temp);
+ } else {
+ return std::wstring();
+ }
}
std::wstring OblivionInfo::getInvalidationBSA()
@@ -188,16 +190,13 @@ void OblivionInfo::createProfile(const std::wstring &directory, bool useDefaults
}
{ // copy oblivionprefs.ini-file
- std::wstring target = directory.substr().append(L"\\oblivionprefs.ini");
+ std::wstring target = directory + L"\\oblivionprefs.ini";
if (!FileExists(target)) {
- std::wostringstream source;
- source << getMyGamesDirectory() << L"\\Oblivion\\oblivionprefs.ini";
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
+ std::wstring source = getMyGamesDirectory() + L"\\Oblivion\\oblivionprefs.ini";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
if ((::CreateFileW(target.c_str(), GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL) == INVALID_HANDLE_VALUE) &&
(::GetLastError() != ERROR_FILE_EXISTS)) {
- std::ostringstream stream;
- stream << "failed to create ini file: " << ToString(target.c_str(), false);
- throw windows_error(stream.str());
+ throw windows_error(std::string("failed to create ini file: ") + ToString(target, false));
}
}
}
diff --git a/src/shared/oblivioninfo.h b/src/shared/oblivioninfo.h
index 02fd90b4..e64ae37b 100644
--- a/src/shared/oblivioninfo.h
+++ b/src/shared/oblivioninfo.h
@@ -36,7 +36,7 @@ public:
virtual unsigned long getBSAVersion();
static std::wstring getRegPathStatic();
- virtual std::wstring getRegPath() { return OblivionInfo::getRegPathStatic(); }
+ virtual std::wstring getRegPath() { return getRegPathStatic(); }
virtual std::wstring getBinaryName() { return L"Oblivion.exe"; }
virtual GameInfo::Type getType() { return TYPE_OBLIVION; }
@@ -72,9 +72,9 @@ public:
virtual std::wstring getNexusPage(bool nmmScheme = true);
static std::wstring getNexusInfoUrlStatic();
- virtual std::wstring getNexusInfoUrl() { return OblivionInfo::getNexusInfoUrlStatic(); }
+ virtual std::wstring getNexusInfoUrl() { return getNexusInfoUrlStatic(); }
static int getNexusModIDStatic();
- virtual int getNexusModID() { return OblivionInfo::getNexusModIDStatic(); }
+ virtual int getNexusModID() { return getNexusModIDStatic(); }
virtual int getNexusGameID() { return 101; }
virtual void createProfile(const std::wstring &directory, bool useDefaults);
diff --git a/src/shared/skyriminfo.cpp b/src/shared/skyriminfo.cpp
index c985fe9f..319e58d5 100644
--- a/src/shared/skyriminfo.cpp
+++ b/src/shared/skyriminfo.cpp
@@ -63,15 +63,17 @@ std::wstring SkyrimInfo::getRegPathStatic()
0, KEY_QUERY_VALUE, &key);
if (errorcode != ERROR_SUCCESS) {
- return L"";
+ return std::wstring();
}
WCHAR temp[MAX_PATH];
DWORD bufferSize = MAX_PATH;
- errorcode = ::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize);
-
- return std::wstring(temp);
+ if (::RegQueryValueExW(key, L"Installed Path", NULL, NULL, (LPBYTE)temp, &bufferSize) == ERROR_SUCCESS) {
+ return std::wstring(temp);
+ } else {
+ return std::wstring();
+ }
}
@@ -222,7 +224,7 @@ int SkyrimInfo::getNexusModIDStatic()
void SkyrimInfo::createProfile(const std::wstring &directory, bool useDefaults)
{
{ // copy plugins.txt
- std::wstring target = directory.substr().append(L"\\plugins.txt");
+ std::wstring target = directory + L"\\plugins.txt";
if (!FileExists(target)) {
std::wostringstream source;
source << getLocalAppFolder() << "\\Skyrim\\plugins.txt";
@@ -231,11 +233,10 @@ void SkyrimInfo::createProfile(const std::wstring &directory, bool useDefaults)
::CloseHandle(file);
}
}
- target = directory.substr().append(L"\\loadorder.txt");
+ target = directory + L"\\loadorder.txt";
if (!FileExists(target)) {
- std::wostringstream source;
- source << getLocalAppFolder() << "\\Skyrim\\loadorder.txt";
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
+ std::wstring source = getLocalAppFolder() + L"\\Skyrim\\loadorder.txt";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
HANDLE file = ::CreateFileW(target.c_str(), GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
::CloseHandle(file);
}
@@ -243,42 +244,36 @@ void SkyrimInfo::createProfile(const std::wstring &directory, bool useDefaults)
}
{ // copy skyrim.ini-file
- std::wstring target = directory.substr().append(L"\\skyrim.ini");
+ std::wstring target = directory + L"\\skyrim.ini";
if (!FileExists(target)) {
- std::wostringstream source;
+ std::wstring source;
if (useDefaults) {
- source << getGameDirectory() << L"\\skyrim_default.ini";
+ source = getGameDirectory() + L"\\skyrim_default.ini";
} else {
- source << getMyGamesDirectory() << L"\\Skyrim";
- if (FileExists(source.str(), L"skyrim.ini")) {
- source << L"\\skyrim.ini";
+ source = getMyGamesDirectory() + L"\\Skyrim";
+ if (FileExists(source, L"skyrim.ini")) {
+ source += L"\\skyrim.ini";
} else {
- source.str(L"");
- source << getGameDirectory() << L"\\skyrim_default.ini";
+ source = getGameDirectory() + L"\\skyrim_default.ini";
}
}
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
if (::GetLastError() != ERROR_FILE_EXISTS) {
- std::ostringstream stream;
- stream << "failed to copy ini file: " << ToString(source.str(), false);
- throw windows_error(stream.str());
+ throw windows_error(std::string("failed to copy ini file: ") + ToString(source, false));
}
}
}
}
{ // copy skyrimprefs.ini-file
- std::wstring target = directory.substr().append(L"\\skyrimprefs.ini");
+ std::wstring target = directory + L"\\skyrimprefs.ini";
if (!FileExists(target)) {
- std::wostringstream source;
- source << getMyGamesDirectory() << L"\\Skyrim\\skyrimprefs.ini";
- if (!::CopyFileW(source.str().c_str(), target.c_str(), true)) {
- log("failed to copy ini file %ls", source.str().c_str());
+ std::wstring source = getMyGamesDirectory() + L"\\Skyrim\\skyrimprefs.ini";
+ if (!::CopyFileW(source.c_str(), target.c_str(), true)) {
+ log("failed to copy ini file %ls", source.c_str());
// create empty
if (::CreateFileW(target.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL) == INVALID_HANDLE_VALUE) {
- std::ostringstream stream;
- stream << "failed to copy ini file: " << ToString(source.str(), false);
- throw windows_error(stream.str());
+ throw windows_error(std::string("failed to copy ini file: ") + ToString(source, false));
}
}
}
diff --git a/src/shared/skyriminfo.h b/src/shared/skyriminfo.h
index 132f2aee..a7aff8dc 100644
--- a/src/shared/skyriminfo.h
+++ b/src/shared/skyriminfo.h
@@ -38,7 +38,7 @@ public:
virtual unsigned long getBSAVersion();
static std::wstring getRegPathStatic();
- virtual std::wstring getRegPath() { return SkyrimInfo::getRegPathStatic(); }
+ virtual std::wstring getRegPath() { return getRegPathStatic(); }
virtual std::wstring getBinaryName() { return L"TESV.exe"; }
virtual GameInfo::Type getType() { return TYPE_SKYRIM; }
@@ -81,11 +81,11 @@ public:
virtual std::wstring getNexusPage(bool nmmScheme = true);
static std::wstring getNexusInfoUrlStatic();
- virtual std::wstring getNexusInfoUrl() { return SkyrimInfo::getNexusInfoUrlStatic(); }
+ virtual std::wstring getNexusInfoUrl() { return getNexusInfoUrlStatic(); }
static int getNexusModIDStatic();
- virtual int getNexusModID() { return SkyrimInfo::getNexusModIDStatic(); }
+ virtual int getNexusModID() { return getNexusModIDStatic(); }
static int getNexusGameIDStatic() { return 110; }
- virtual int getNexusGameID() { return SkyrimInfo::getNexusGameIDStatic(); }
+ virtual int getNexusGameID() { return getNexusGameIDStatic(); }
virtual void createProfile(const std::wstring &directory, bool useDefaults);
virtual void repairProfile(const std::wstring &directory);