File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change 99#include " player_name_modifyer.h"
1010#include " xrGameSpy/GameSpy_GP.h"
1111#include " xrCore/os_clipboard.h"
12+ #ifdef LINUX
13+ #include < sys/types.h>
14+ #include < pwd.h>
15+ #endif
1216
1317string64 gsCDKey = " " ;
1418LPCSTR AddHyphens (LPCSTR c);
@@ -225,12 +229,28 @@ void WriteCDKey_ToRegistry(LPSTR cdkey)
225229void GetPlayerName_FromRegistry (char * name, u32 const name_size)
226230{
227231 string256 new_name;
232+ #if defined(LINUX)
233+ uid_t uid = geteuid ();
234+ struct passwd *pw = getpwuid (uid);
235+ if (pw)
236+ {
237+ strcpy (name, pw->pw_gecos );
238+ char * pos = strchr (name, ' ,' ); // pw_gecos return string
239+ if (NULL != pos)
240+ *pos = 0 ;
241+ if (0 == name[0 ])
242+ strcpy (name, pw->pw_name );
243+ }
244+ if (0 == name[0 ])
245+ #else
228246 if (!ReadRegistry_StrValue (REGISTRY_VALUE_USERNAME, name))
247+ #endif
229248 {
230249 name[0 ] = 0 ;
231250 Msg (" ! Player name registry key (%s) not found !" , REGISTRY_VALUE_USERNAME);
232251 return ;
233252 }
253+
234254 u32 const max_name_length = GP_UNIQUENICK_LEN - 1 ;
235255 if (xr_strlen (name) > max_name_length)
236256 {
You can’t perform that action at this time.
0 commit comments