X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fuserinfo.cpp;h=af33d1d66a11f40464f4a326211e642def27eacb;hb=faa87bf9f30b943397429a04254d96963bbf38bc;hp=c68d55ac3e02b27d001b1496259142bba74ff605;hpb=7f74d469a4ae7141afefeb1f49f817ad6a576a0a;p=lyx.git diff --git a/src/support/userinfo.cpp b/src/support/userinfo.cpp index c68d55ac3e..af33d1d66a 100644 --- a/src/support/userinfo.cpp +++ b/src/support/userinfo.cpp @@ -12,11 +12,12 @@ #include "support/userinfo.h" #include "support/environment.h" +#include "support/docstring.h" -#include +#include "support/lassert.h" #if defined (_WIN32) -# include "gettext.h" +# include "support/gettext.h" # include # include #else @@ -29,7 +30,7 @@ # include #endif -using std::string; +using namespace std; namespace lyx { namespace support { @@ -44,10 +45,12 @@ docstring const user_name() return _("Unknown user"); return from_local8bit(name); #else - struct passwd * pw(getpwuid(geteuid())); - BOOST_ASSERT(pw); + struct passwd * pw = getpwuid(geteuid()); + LASSERT(pw, return docstring()); - string name = pw->pw_gecos; + const string gecos = pw->pw_gecos; + const size_t pos = gecos.find(","); + string name = gecos.substr(0, pos); if (name.empty()) name = pw->pw_name; return from_local8bit(name);