mirror of
https://github.com/RGBCube/serenity
synced 2025-07-10 09:27:35 +00:00
LibCore: Make get_current_user_home_path() return String & close passwd
This API was returning a "const char*" and it was unclear who took care of the underlying memory. Returning a String makes that obvious. Also make sure we close the /etc/passwd file when we're done with it.
This commit is contained in:
parent
8a703c0076
commit
7f25959fa2
4 changed files with 15 additions and 10 deletions
|
@ -3,15 +3,13 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
const char* get_current_user_home_path()
|
||||
String get_current_user_home_path()
|
||||
{
|
||||
if (auto* home_env = getenv("HOME"))
|
||||
return home_env;
|
||||
|
||||
auto d = "/";
|
||||
uid_t uid = getuid();
|
||||
if (auto* pwd = getpwuid(uid))
|
||||
return pwd->pw_dir;
|
||||
|
||||
return d;
|
||||
auto* pwd = getpwuid(getuid());
|
||||
String path = pwd ? pwd->pw_dir : "/";
|
||||
endpwent();
|
||||
return path;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue