diff options
Diffstat (limited to 'src/users.cpp')
-rw-r--r-- | src/users.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/users.cpp b/src/users.cpp index 4437449e3..a79f0a61d 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -339,9 +339,9 @@ userrec::~userrec() } } -/* XXX - minor point, other *Host functions return a char *, this one creates it. Might be nice to be consistant? */ -void userrec::MakeHost(char* nhost) +char* userrec::MakeHost() { + static char nhost[MAXBUF]; /* This is much faster than snprintf */ char* t = nhost; for(char* n = ident; *n; n++) @@ -350,6 +350,21 @@ void userrec::MakeHost(char* nhost) for(char* n = host; *n; n++) *t++ = *n; *t = 0; + return nhost; +} + +char* userrec::MakeHostIP() +{ + static char ihost[MAXBUF]; + /* This is much faster than snprintf */ + char* t = ihost; + for(char* n = ident; *n; n++) + *t++ = *n; + *t++ = '@'; + for(const char* n = this->GetIPString(); *n; n++) + *t++ = *n; + *t = 0; + return ihost; } void userrec::CloseSocket() |