+ /* If mode mask was not sent as argument then merely return the current
+ mode mask to the sender. */
+ if (!set_mask) {
+ unsigned char m[4];
+ SILC_PUT32_MSB(channel->mode, m);
+ packet = silc_command_reply_payload_encode_va(SILC_COMMAND_CMODE,
+ SILC_STATUS_OK, 0, ident, 2,
+ 2, tmp_id, tmp_len2,
+ 3, m, sizeof(m));
+ silc_server_packet_send(server, cmd->sock, SILC_PACKET_COMMAND_REPLY, 0,
+ packet->data, packet->len, FALSE);
+ silc_buffer_free(packet);
+ goto out;
+ }
+