X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fidentity.cpp;h=1978ebe98ec0f3c4b84092937dc7a4800f5800c3;hp=9359264f4b6943c12ef77b737a65fc8759507e34;hb=dcac65fc4beeb1167de8ebec5cc54608fc314fd3;hpb=ce6529a3ea1566d5d013f54608617e0c4fd982e0 diff --git a/src/common/identity.cpp b/src/common/identity.cpp index 9359264f..1978ebe9 100644 --- a/src/common/identity.cpp +++ b/src/common/identity.cpp @@ -88,7 +88,10 @@ QString Identity::defaultNick() { nick = shortUserName; #elif defined(Q_OS_UNIX) - QString userName = getlogin(); + QString userName; + struct passwd *pwd = getpwuid(getuid()); + if(pwd) + userName = pwd->pw_name; if(!userName.isEmpty()) nick = userName; @@ -108,7 +111,7 @@ QString Identity::defaultNick() { #endif // cleaning forbidden characters from nick - QRegExp rx(QString("(^[\\d-]+|[^A-Za-z\x5b-\x60\x7b-\x7d])")); + QRegExp rx(QString("(^[\\d-]+|[^A-Za-z0-9\x5b-\x60\x7b-\x7d])")); nick.remove(rx); return nick; } @@ -144,8 +147,7 @@ QString Identity::defaultRealName() { void Identity::setToDefaults() { setIdentityName(tr("")); setRealName(defaultRealName()); - QStringList n; - n << defaultNick() << defaultNick() + "_" << defaultNick() + "__"; + QStringList n = QStringList() << defaultNick(); setNicks(n); setAwayNick(""); setAwayNickEnabled(false);