- if (IS_SILC_CHANNEL(to)) {
- channel = SILC_CHANNEL(to);
- silc_client_send_channel_message(silc_client, server->conn, channel->entry,
- NULL, SILC_MESSAGE_FLAG_DATA,
- mime_data, mime_data_len, TRUE);
- } else if (IS_SILC_QUERY(to)) {
- query = SILC_QUERY(to);
- silc_send_msg(server, query->name, mime_data, mime_data_len,
- SILC_MESSAGE_FLAG_DATA);
+ silc_client_send_channel_message(silc_client, server->conn, rec->entry,
+ NULL, SILC_MESSAGE_FLAG_DATA |
+ (sign ? SILC_MESSAGE_FLAG_SIGNED : 0),
+ unescaped_data, unescaped_data_len, TRUE);
+ } else {
+ silc_send_msg(server, (char *)to, unescaped_data, unescaped_data_len,
+ SILC_MESSAGE_FLAG_DATA |
+ (sign ? SILC_MESSAGE_FLAG_SIGNED : 0));