Fixed INVITE/BAN notify sending.
[silc.git] / lib / silcclient / client_notify.c
index 9b57f415b3b21e04e774da9786f099e2cf7f706e..311dbdd1d13b0f613d2e867d6d1498f5d7993322 100644 (file)
@@ -279,6 +279,20 @@ void silc_client_notify_by_server(SilcClient client,
 
     SILC_LOG_DEBUG(("Notify: JOIN"));
 
+    /* Get Channel ID */
+    tmp = silc_argument_get_arg_type(args, 2, &tmp_len);
+    if (!tmp)
+      goto out;
+
+    channel_id = silc_id_payload_parse_id(tmp, tmp_len, NULL);
+    if (!channel_id)
+      goto out;
+
+    /* Get channel entry */
+    channel = silc_client_get_channel_by_id(client, conn, channel_id);
+    if (!channel)
+      break;
+
     /* Get Client ID */
     tmp = silc_argument_get_arg_type(args, 1, &tmp_len);
     if (!tmp)
@@ -326,20 +340,6 @@ void silc_client_notify_by_server(SilcClient client,
        silc_client_nickname_format(client, conn, client_entry);
     }
 
-    /* Get Channel ID */
-    tmp = silc_argument_get_arg_type(args, 2, &tmp_len);
-    if (!tmp)
-      goto out;
-
-    channel_id = silc_id_payload_parse_id(tmp, tmp_len, NULL);
-    if (!channel_id)
-      goto out;
-
-    /* Get channel entry */
-    channel = silc_client_get_channel_by_id(client, conn, channel_id);
-    if (!channel)
-      break;
-
     /* If information is being resolved for this channel, wait for it */
     if (channel->resolve_cmd_ident) {
       silc_client_channel_wait(client, conn, channel, packet);