Use unique_ptr to hold on to SDL_GetPrefPath's result
This commit is contained in:
parent
3991bb0906
commit
daabe6a116
@ -241,24 +241,22 @@ int main(int argc, char * argv[])
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char *ddir = SDL_GetPrefPath(NULL, APPDATA);
|
auto ddir = std::unique_ptr<char, decltype(&SDL_free)>(SDL_GetPrefPath(NULL, APPDATA), SDL_free);
|
||||||
if (!Platform::FileExists("powder.pref"))
|
if (!Platform::FileExists("powder.pref"))
|
||||||
{
|
{
|
||||||
if (ddir)
|
if (ddir)
|
||||||
{
|
{
|
||||||
if (!Platform::ChangeDir(ddir))
|
if (!Platform::ChangeDir(ddir.get()))
|
||||||
{
|
{
|
||||||
perror("failed to chdir to default ddir");
|
perror("failed to chdir to default ddir");
|
||||||
SDL_free(ddir);
|
ddir.reset();
|
||||||
ddir = nullptr;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ddir)
|
if (ddir)
|
||||||
{
|
{
|
||||||
Platform::sharedCwd = ddir;
|
Platform::sharedCwd = ddir.get();
|
||||||
SDL_free(ddir);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// We're now in the correct directory, time to get prefs.
|
// We're now in the correct directory, time to get prefs.
|
||||||
|
Reference in New Issue
Block a user