Added SILC Thread Queue API
[crypto.git] / apps / silcmap / silcmap_client.c
index 651bd5647b827a74001f4272cf487d6d378af43c..361a9f0a093aa7bb8569fc9bdcaa548ba65f05b8 100644 (file)
@@ -440,8 +440,8 @@ silc_command_reply(SilcClient client, SilcClientConnection conn,
 
       SILC_LOG_DEBUG(("MOTD command reply"));
 
-      mapconn->data.motd = strdup(motd);
-      mapconn->motd_received = TRUE;
+      mapconn->data.motd = motd ? strdup(motd) : NULL;
+      mapconn->motd_received = motd ? TRUE : FALSE;
     }
     break;
 
@@ -544,6 +544,11 @@ silc_disconnected(SilcClient client, SilcClientConnection conn,
   SILC_LOG_DEBUG(("Disconnected from server %s:%d", conn->remote_host,
                  conn->remote_port));
 
+  /* Mark that this server is down. */
+  silc_schedule_task_add(map->client->schedule, 0,
+                        silc_map_connect_timeout, mapconn, 0, 1,
+                        SILC_TASK_TIMEOUT, SILC_TASK_PRI_NORMAL);
+
   mapconn->conn = NULL;
 }