Use unique_ptr to hold on to SDL_GetPrefPath's result

This commit is contained in:
Tamás Bálint Misius 2023-06-11 07:22:04 +02:00
parent 3991bb0906
commit daabe6a116
No known key found for this signature in database
GPG Key ID: 5B472A12F6ECA9F2

View File

@ -241,24 +241,22 @@ int main(int argc, char * argv[])
}
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 (ddir)
{
if (!Platform::ChangeDir(ddir))
if (!Platform::ChangeDir(ddir.get()))
{
perror("failed to chdir to default ddir");
SDL_free(ddir);
ddir = nullptr;
ddir.reset();
}
}
}
if (ddir)
{
Platform::sharedCwd = ddir;
SDL_free(ddir);
Platform::sharedCwd = ddir.get();
}
}
// We're now in the correct directory, time to get prefs.