diff options
-rw-r--r-- | Sluift/SluiftClient.cpp | 1 | ||||
-rw-r--r-- | Sluift/client.cpp | 11 |
2 files changed, 4 insertions, 8 deletions
diff --git a/Sluift/SluiftClient.cpp b/Sluift/SluiftClient.cpp index 184fbd6..257eec1 100644 --- a/Sluift/SluiftClient.cpp +++ b/Sluift/SluiftClient.cpp @@ -56,6 +56,7 @@ void SluiftClient::connect(const std::string& host, int port) { rosterReceived = false; options.manualHostname = host; options.manualPort = port; + disconnectedError = boost::optional<ClientError>(); if (globals->debug) { tracer = new ClientXMLTracer(client, options.boshURL.isEmpty()? false: true); } diff --git a/Sluift/client.cpp b/Sluift/client.cpp index 2ca62d6..cd675fa 100644 --- a/Sluift/client.cpp +++ b/Sluift/client.cpp @@ -47,8 +47,8 @@ static inline SluiftClient* getClient(lua_State* L) { SLUIFT_LUA_FUNCTION(Client, async_connect) { SluiftClient* client = getClient(L); - std::string host; - int port = -1; + std::string host = client->getOptions().manualHostname; + int port = client->getOptions().manualPort; if (lua_istable(L, 2)) { if (boost::optional<std::string> hostString = Lua::getStringField(L, 2, "host")) { host = *hostString; @@ -57,12 +57,7 @@ SLUIFT_LUA_FUNCTION(Client, async_connect) { port = *portInt; } } - if (host.empty() && port == -1) { - client->connect(); - } - else { - client->connect(host, port); - } + client->connect(host, port); return 0; } |