summaryrefslogtreecommitdiff
path: root/LibCore/CUserInfo.cpp
blob: e297468fee0bd06a4b37b1c1deb00a0af2b5a79b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "CUserInfo.h"
#include <stdlib.h>
#include <unistd.h>
#include <pwd.h>

const char *get_current_user_home_path() {
    if (auto* home_env = getenv("HOME")) {
        return home_env;
    } else {
        auto d = "/";
        uid_t uid = getuid();
        if (auto* pwd = getpwuid(uid))
            return pwd->pw_dir;
        else
            return d;
    }
}