Cleanup: Deduplicate code
By unifying the return, we don't need to duplicate the `CoTaskMemFree` call. Ref 84718feb4b.
This commit is contained in:
parent
0e977a38bc
commit
fc39963b31
@ -21,6 +21,8 @@ GHOST_SystemPathsWin32::~GHOST_SystemPathsWin32() {}
|
||||
|
||||
const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) const
|
||||
{
|
||||
const char *system_dir = nullptr;
|
||||
|
||||
/* 1 utf-16 might translate into 3 utf-8. 2 utf-16 translates into 4 utf-8. */
|
||||
static char knownpath[MAX_PATH * 3 + 128] = {0};
|
||||
PWSTR knownpath_16 = nullptr;
|
||||
@ -30,17 +32,19 @@ const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) co
|
||||
|
||||
if (hResult == S_OK) {
|
||||
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
|
||||
CoTaskMemFree(knownpath_16);
|
||||
strcat(knownpath, "\\Blender Foundation\\Blender\\");
|
||||
strcat(knownpath, versionstr);
|
||||
return knownpath;
|
||||
system_dir = knownpath;
|
||||
}
|
||||
|
||||
CoTaskMemFree(knownpath_16);
|
||||
return nullptr;
|
||||
return system_dir;
|
||||
}
|
||||
|
||||
const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) const
|
||||
{
|
||||
const char *user_dir = nullptr;
|
||||
|
||||
static char knownpath[MAX_PATH * 3 + 128] = {0};
|
||||
PWSTR knownpath_16 = nullptr;
|
||||
|
||||
@ -49,19 +53,20 @@ const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) cons
|
||||
|
||||
if (hResult == S_OK) {
|
||||
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
|
||||
CoTaskMemFree(knownpath_16);
|
||||
strcat(knownpath, "\\Blender Foundation\\Blender\\");
|
||||
strcat(knownpath, versionstr);
|
||||
return knownpath;
|
||||
user_dir = knownpath;
|
||||
}
|
||||
|
||||
CoTaskMemFree(knownpath_16);
|
||||
return nullptr;
|
||||
return user_dir;
|
||||
}
|
||||
|
||||
const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes type) const
|
||||
{
|
||||
GUID folderid;
|
||||
const char *special_dir = nullptr;
|
||||
|
||||
GUID folderid;
|
||||
switch (type) {
|
||||
case GHOST_kUserSpecialDirDesktop:
|
||||
folderid = FOLDERID_Desktop;
|
||||
@ -97,11 +102,11 @@ const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes
|
||||
|
||||
if (hResult == S_OK) {
|
||||
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
|
||||
CoTaskMemFree(knownpath_16);
|
||||
return knownpath;
|
||||
special_dir = knownpath;
|
||||
}
|
||||
|
||||
CoTaskMemFree(knownpath_16);
|
||||
return nullptr;
|
||||
return special_dir;
|
||||
}
|
||||
|
||||
const char *GHOST_SystemPathsWin32::getBinaryDir() const
|
||||
|
Loading…
Reference in New Issue
Block a user