]> git.lyx.org Git - lyx.git/blobdiff - src/support/userinfo.cpp
* layouttranslations.review - remove dupes
[lyx.git] / src / support / userinfo.cpp
index a82c9592e5195066d9b1cd2e4d8578d2a2a3978c..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
 # include <sys/types.h>
 #endif
 
-using std::string;
+using namespace std;
 
 namespace lyx {
 namespace support {
 
 docstring const user_name()
 {
-       //FIXME: quick fix wrt bug #3764; only Anonymous is detected now.
-       //The code after should be used only after user approval.
-       return from_ascii("Anonymous");
-       
-       
 #if defined (_WIN32)
 
        char name[UNLEN + 1];
@@ -49,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);