Fix JID parsing
This commit is contained in:
committed by
Florent Le Coz
parent
8c33a01e68
commit
83219052c3
+9
-7
@@ -2,18 +2,20 @@
|
||||
|
||||
Jid::Jid(const std::string& jid)
|
||||
{
|
||||
std::string::size_type at = jid.find("@");
|
||||
if (at != std::string::npos)
|
||||
std::string::size_type slash = jid.find('/');
|
||||
if (slash != std::string::npos)
|
||||
{
|
||||
this->resource = jid.substr(slash + 1);
|
||||
}
|
||||
|
||||
std::string::size_type at = jid.find('@');
|
||||
if (at != std::string::npos && at < slash)
|
||||
{
|
||||
this->local = jid.substr(0, at);
|
||||
at++;
|
||||
}
|
||||
else
|
||||
at = 0;
|
||||
std::string::size_type slash = jid.find("/", at);
|
||||
if (slash != std::string::npos)
|
||||
{
|
||||
this->resource = jid.substr(slash + 1);
|
||||
}
|
||||
|
||||
this->domain = jid.substr(at, slash - at);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user