forked from oerkki/voxelands
ensure getUser() returns a valid player name
This commit is contained in:
parent
03fc74e997
commit
3f8324d7e0
|
@ -33,6 +33,7 @@
|
|||
#include "config.h"
|
||||
#include "debug.h"
|
||||
#include "filesys.h"
|
||||
#include "player.h"
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include "CoreFoundation/CoreFoundation.h"
|
||||
|
@ -374,19 +375,20 @@ void initializePaths(char* argv0)
|
|||
|
||||
std::string getUser()
|
||||
{
|
||||
std::string user("someone");
|
||||
#ifdef _WIN32
|
||||
|
||||
char buff[1024];
|
||||
int size = 1024;
|
||||
|
||||
if (GetUserName(buff,LPDWORD(&size)))
|
||||
return std::string(buff);
|
||||
user = std::string(buff);
|
||||
#else
|
||||
char* u = getenv("USER");
|
||||
if (u)
|
||||
return std::string(u);
|
||||
user = std::string(u);
|
||||
#endif
|
||||
return std::string("someone");
|
||||
return string_allowify(user,PLAYERNAME_ALLOWED_CHARS);
|
||||
}
|
||||
|
||||
} //namespace porting
|
||||
|
|
|
@ -1413,23 +1413,34 @@ private:
|
|||
*/
|
||||
inline bool string_allowed(const std::string &s, const std::string &allowed_chars)
|
||||
{
|
||||
for(u32 i=0; i<s.size(); i++)
|
||||
{
|
||||
for (u32 i=0; i<s.size(); i++) {
|
||||
bool confirmed = false;
|
||||
for(u32 j=0; j<allowed_chars.size(); j++)
|
||||
{
|
||||
if(s[i] == allowed_chars[j])
|
||||
{
|
||||
for (u32 j=0; j<allowed_chars.size(); j++) {
|
||||
if (s[i] == allowed_chars[j]) {
|
||||
confirmed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(confirmed == false)
|
||||
if (confirmed == false)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
inline std::string string_allowify(const std::string &s, const std::string &allowed_chars)
|
||||
{
|
||||
std::string result;
|
||||
for (u32 i=0; i<s.size(); i++) {
|
||||
for (u32 j=0; j<allowed_chars.size(); j++) {
|
||||
if (s[i] == allowed_chars[j]) {
|
||||
result += s[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
Some helper stuff
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue