mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-19 22:26:37 +02:00
Update how the 'username' is determined from the running process for logfile naming (Issue #786) (#787)
* Fix an issue where the 'username' for the running process is not correctly determined on some platforms when enabling logging via --enable-logging
This commit is contained in:
parent
14cd47b56f
commit
2321518faa
20
src/log.d
20
src/log.d
|
@ -179,11 +179,25 @@ private void logfileWriteLine(T...)(T args)
|
|||
private string getUserName()
|
||||
{
|
||||
auto pw = getpwuid(getuid);
|
||||
auto uinfo = pw.pw_gecos[0 .. strlen(pw.pw_gecos)].splitter(',');
|
||||
if (!uinfo.empty && uinfo.front.length){
|
||||
return uinfo.front.idup;
|
||||
|
||||
// get required details
|
||||
auto runtime_pw_name = pw.pw_name[0 .. strlen(pw.pw_name)].splitter(',');
|
||||
auto runtime_pw_uid = pw.pw_uid;
|
||||
auto runtime_pw_gid = pw.pw_gid;
|
||||
|
||||
// user identifiers from process
|
||||
vdebug("Process ID: ", pw);
|
||||
vdebug("User UID: ", runtime_pw_uid);
|
||||
vdebug("User GID: ", runtime_pw_gid);
|
||||
|
||||
// What should be returned as username?
|
||||
if (!runtime_pw_name.empty && runtime_pw_name.front.length){
|
||||
// user resolved
|
||||
vdebug("User Name: ", runtime_pw_name.front.idup);
|
||||
return runtime_pw_name.front.idup;
|
||||
} else {
|
||||
// Unknown user?
|
||||
vdebug("User Name: unknown");
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue