]> git.lyx.org Git - lyx.git/blobdiff - src/support/userinfo.cpp
* layouttranslations.review - remove dupes
[lyx.git] / src / support / userinfo.cpp
index c68d55ac3e02b27d001b1496259142bba74ff605..af33d1d66a11f40464f4a326211e642def27eacb 100644 (file)
 
 #include "support/userinfo.h"
 #include "support/environment.h"
+#include "support/docstring.h"
 
-#include <boost/assert.hpp>
+#include "support/lassert.h"
 
 #if defined (_WIN32)
-# include "gettext.h"
+# include "support/gettext.h"
 # include <windows.h>
 # include <lmcons.h>
 #else
@@ -29,7 +30,7 @@
 # include <sys/types.h>
 #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);