X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fsilc%2Fcore%2Fsilc-servers.c;h=c6cbdb4889ce46b0bc7fb4a4cd4715fee43f8dd1;hp=4d68aeb0ad0cde2bd8433f716275ea84a31e6ddf;hb=382d15d447b7a95390decfa783836ae4fe255b3d;hpb=3cf38201f9ffaad2da53757ed48a5546e1d03636 diff --git a/apps/irssi/src/silc/core/silc-servers.c b/apps/irssi/src/silc/core/silc-servers.c index 4d68aeb0..c6cbdb48 100644 --- a/apps/irssi/src/silc/core/silc-servers.c +++ b/apps/irssi/src/silc/core/silc-servers.c @@ -50,20 +50,20 @@ void silc_servers_reconnect_init(void); void silc_servers_reconnect_deinit(void); -static void silc_send_channel(SILC_SERVER_REC *server, - char *channel, char *msg) +static int silc_send_channel(SILC_SERVER_REC *server, + char *channel, char *msg, + SilcMessageFlags flags) { SILC_CHANNEL_REC *rec; rec = silc_channel_find(server, channel); if (rec == NULL || rec->entry == NULL) { - cmd_return_error(CMDERR_NOT_JOINED); - return; + cmd_return_error_value(CMDERR_NOT_JOINED, FALSE); } silc_client_send_channel_message(silc_client, server->conn, rec->entry, - NULL, SILC_MESSAGE_FLAG_UTF8, - msg, strlen(msg), TRUE); + NULL, flags, msg, strlen(msg), TRUE); + return TRUE; } typedef struct { @@ -134,8 +134,8 @@ static void silc_send_msg_clients(SilcClient client, g_free(rec); } -static void silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg, - int msg_len, SilcMessageFlags flags) +static int silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg, + int msg_len, SilcMessageFlags flags) { PRIVMSG_REC *rec; SilcClientEntry *clients; @@ -145,7 +145,7 @@ static void silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg, if (!silc_parse_userfqdn(nick, &nickname, NULL)) { printformat_module("fe-common/silc", server, NULL, MSGLEVEL_CRAP, SILCTXT_BAD_NICK, nick); - return; + return FALSE; } /* Find client entry */ @@ -163,7 +163,7 @@ static void silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg, silc_client_get_clients(silc_client, server->conn, nickname, NULL, silc_send_msg_clients, rec); silc_free(nickname); - return; + return FALSE; } /* Send the private message directly */ @@ -171,6 +171,7 @@ static void silc_send_msg(SILC_SERVER_REC *server, char *nick, char *msg, silc_client_send_private_message(silc_client, server->conn, clients[0], flags, msg, msg_len, TRUE); + return TRUE; } void silc_send_mime(SILC_SERVER_REC *server, WI_ITEM_REC *to, @@ -249,7 +250,8 @@ static void send_message(SILC_SERVER_REC *server, char *target, } if (target_type == SEND_TARGET_CHANNEL) - silc_send_channel(server, target, message ? message : msg); + silc_send_channel(server, target, message ? message : msg, + SILC_MESSAGE_FLAG_UTF8); else silc_send_msg(server, target, message ? message : msg, message ? strlen(message) : strlen(msg), @@ -444,6 +446,7 @@ char *silc_server_get_channels(SILC_SERVER_REC *server) /* SYNTAX: WATCH [<-add | -del> ] */ /* SYNTAX: STATS */ /* SYNTAX: ATTR [<-del>