Cleanup: Deduplicate code

By unifying the return, we don't need to duplicate the `CoTaskMemFree`
call.

Ref 84718feb4b.
This commit is contained in:
Germano Cavalcante 2023-08-16 18:28:44 -03:00
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