Change signature of mqtt_client_connect() to take an IP addr instead of a string
diff --git a/doc/mqtt_client.txt b/doc/mqtt_client.txt
index 21e974f..eb096a3 100644
--- a/doc/mqtt_client.txt
+++ b/doc/mqtt_client.txt
@@ -38,7 +38,7 @@
      to establish a connection with the server. 
      For now port number 1883 and MQTT version 3.1.1 is always used */
   
-  err = mqtt_client_connect(client, "192.168.0.55", mqtt_connection_cb, 0, &ci); 
+  err = mqtt_client_connect(client, ip_addr, mqtt_connection_cb, 0, &ci); 
   
   /* For now just print the result code if something goes wrong
   if(err != ERR_OK) {
diff --git a/src/apps/mqtt/mqtt.c b/src/apps/mqtt/mqtt.c
index 3e3a812..a8a9cab 100644
--- a/src/apps/mqtt/mqtt.c
+++ b/src/apps/mqtt/mqtt.c
@@ -1218,11 +1218,10 @@
  * @return ERR_OK if successful, @see err_t enum for other results
  */
 err_t
-mqtt_client_connect(mqtt_client_t *client, const char *host, mqtt_connection_cb_t cb, void *arg,
+mqtt_client_connect(mqtt_client_t *client, const ip_addr_t *ip_addr, mqtt_connection_cb_t cb, void *arg,
                     const struct mqtt_connect_client_info_t *client_info)
 {
   err_t err;
-  ip_addr_t ip_addr;
   size_t len;
   u16_t client_id_length;
   u16_t port = 1883;
@@ -1231,7 +1230,7 @@
   u8_t flags = 0, will_topic_len = 0, will_msg_len = 0;
 
   LWIP_ASSERT("mqtt_client_connect: client != NULL", client != NULL);
-  LWIP_ASSERT("mqtt_client_connect: host != NULL", host != NULL);
+  LWIP_ASSERT("mqtt_client_connect: ip_addr != NULL", ip_addr != NULL);
   LWIP_ASSERT("mqtt_client_connect: client_info != NULL", client_info != NULL);
   LWIP_ASSERT("mqtt_client_connect: client_info->client_id != NULL", client_info->client_id != NULL);
 
@@ -1240,10 +1239,6 @@
     return ERR_ISCONN;
   }
 
-  if(ipaddr_aton(host, &ip_addr) == 0) {
-    LWIP_DEBUGF(MQTT_DEBUG_WARN,("mqtt_client_connect: Illegal hostname: %s\n", host));
-    return ERR_ARG;
-  }
   /* Wipe clean */
   memset(client, 0, sizeof(mqtt_client_t));
   client->connect_arg = arg;
@@ -1296,10 +1291,10 @@
     LWIP_DEBUGF(MQTT_DEBUG_WARN,("mqtt_client_connect: Error binding to local ip/port, %d\n", err));
     goto tcp_fail;
   }
-  LWIP_DEBUGF(MQTT_DEBUG_TRACE,("mqtt_client_connect: Connecting to host: %s at port:%d\n", host, port));
+  LWIP_DEBUGF(MQTT_DEBUG_TRACE,("mqtt_client_connect: Connecting to host: %s at port:%d\n", ipaddr_ntoa(ip_addr), port));
 
   /* Connect to server */
-  err = tcp_connect(client->conn, &ip_addr, port, mqtt_tcp_connect_cb);
+  err = tcp_connect(client->conn, ip_addr, port, mqtt_tcp_connect_cb);
   if(err != ERR_OK) {
     LWIP_DEBUGF(MQTT_DEBUG_TRACE,("mqtt_client_connect: Error connecting to remote ip/port, %d\n", err));
     goto tcp_fail;
diff --git a/src/include/lwip/apps/mqtt.h b/src/include/lwip/apps/mqtt.h
index f7412f6..a0e48bd 100644
--- a/src/include/lwip/apps/mqtt.h
+++ b/src/include/lwip/apps/mqtt.h
@@ -204,7 +204,7 @@
 
 
 /** Connect to server */
-err_t mqtt_client_connect(mqtt_client_t *client, const char *host, mqtt_connection_cb_t cb, void *arg,
+err_t mqtt_client_connect(mqtt_client_t *client, const ip_addr_t *ipaddr, mqtt_connection_cb_t cb, void *arg,
                    const struct mqtt_connect_client_info_t *client_info);
 
 /** Disconnect from server */