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 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.