--- arts-1.1/mcop/mcoputils.cc 2002-02-09 07:10:12.000000000 -0600 +++ arts-1.1/mcop/mcoputils.cc.sebi 2003-04-18 07:53:00.000000000 -0500 @@ -31,6 +31,7 @@ #include #include #include +#include //included to get logname from uid #include using namespace std; @@ -73,8 +74,21 @@ string MCOPUtils::createFilePath(string name) { + +// changed to get logname from uid instead of environment variable +// LOGNAME to avoid trouble when LOGNAME does not exist or +// is wrong (such as in kdesu environment) +// S. Voitzsch Sebastian.Voitzsch@web.de +// 2002-12-03 + + struct passwd *pwd = NULL; + pwd = getpwuid(geteuid()); + if (pwd == NULL) arts_fatal("could not get user name from user id"); + string logname = "unknown"; - if(getenv("LOGNAME")) logname = getenv("LOGNAME"); + logname = pwd->pw_name; + +// if(getenv("LOGNAME")) logname = getenv("LOGNAME"); string tmpdir = "/tmp/mcop-"+uglify(logname); if(mkdir(tmpdir.c_str(),0700) != 0 && errno != EEXIST)