From 70fe8e94723643d24103e0908825b3aa0211341c Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 18 Jun 2005 09:28:16 +0000 Subject: [PATCH] part message now accepts %v (replaced by WeeChat version), like quit message --- ChangeLog | 9 ++++++--- src/common/weeconfig.c | 2 +- src/irc/irc-send.c | 28 ++++++++++++++++++++-------- weechat/ChangeLog | 9 ++++++--- weechat/src/common/weeconfig.c | 2 +- weechat/src/irc/irc-send.c | 28 ++++++++++++++++++++-------- 6 files changed, 54 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 70b7ec2d3..8e9e11b18 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,15 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-06-16 +ChangeLog - 2005-06-18 Version 0.1.3 (under dev!): - * errors while loading perl scripts are now displayed in server buffer (instead of current buffer) - * in python scripts, all messages written in stdin and stderr are redirect in server buffer + * part message now accepts %v (replaced by WeeChat version), like quit message + * errors while loading perl scripts are now displayed in server buffer + (instead of current buffer) + * in python scripts, all messages written in stdin and stderr are redirected + in server buffer * fix a filename error while loading a python script manually * fixed plugins "print" and "prnt" functions: now ok for writing on server buffers diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c index be77d5447..23a4c7a86 100644 --- a/src/common/weeconfig.c +++ b/src/common/weeconfig.c @@ -514,7 +514,7 @@ t_config_option weechat_options_irc[] = { "irc_default_msg_part", N_("default part message (leaving channel)"), N_("default part message (leaving channel)"), OPTION_TYPE_STRING, 0, 0, 0, - "", NULL, NULL, &cfg_irc_default_msg_part, config_change_noop }, + "WeeChat %v", NULL, NULL, &cfg_irc_default_msg_part, config_change_noop }, { "irc_default_msg_quit", N_("default quit message"), N_("default quit message ('%v' will be replaced by WeeChat version in string)"), OPTION_TYPE_STRING, 0, 0, 0, diff --git a/src/irc/irc-send.c b/src/irc/irc-send.c index 002747b5a..1809c2c40 100644 --- a/src/irc/irc-send.c +++ b/src/irc/irc-send.c @@ -1138,7 +1138,7 @@ irc_cmd_send_oper (t_irc_server *server, char *arguments) int irc_cmd_send_part (t_irc_server *server, char *arguments) { - char *channel_name, *pos_args; + char *channel_name, *pos_args, *ptr_arg, *pos, buffer[4096]; t_irc_channel *ptr_channel; if (arguments) @@ -1192,16 +1192,28 @@ irc_cmd_send_part (t_irc_server *server, char *arguments) pos_args = NULL; } - if (pos_args) - server_sendf (server, "PART %s :%s\r\n", channel_name, pos_args); - else + ptr_arg = (pos_args) ? pos_args : + (cfg_irc_default_msg_part && cfg_irc_default_msg_part[0]) ? + cfg_irc_default_msg_part : NULL; + + if (ptr_arg) { - if (cfg_irc_default_msg_part && cfg_irc_default_msg_part[0]) - server_sendf (server, "PART %s :%s\r\n", - channel_name, cfg_irc_default_msg_part); + pos = strstr (ptr_arg, "%v"); + if (pos) + { + pos[0] = '\0'; + snprintf (buffer, sizeof (buffer), "%s%s%s", + ptr_arg, PACKAGE_VERSION, pos + 2); + pos[0] = '%'; + } else - server_sendf (server, "PART %s\r\n", channel_name); + snprintf (buffer, sizeof (buffer), "%s", + ptr_arg); + server_sendf (server, "PART %s :%s\r\n", + channel_name, buffer); } + else + server_sendf (server, "PART %s\r\n", channel_name); return 0; } diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 70b7ec2d3..8e9e11b18 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,12 +1,15 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-06-16 +ChangeLog - 2005-06-18 Version 0.1.3 (under dev!): - * errors while loading perl scripts are now displayed in server buffer (instead of current buffer) - * in python scripts, all messages written in stdin and stderr are redirect in server buffer + * part message now accepts %v (replaced by WeeChat version), like quit message + * errors while loading perl scripts are now displayed in server buffer + (instead of current buffer) + * in python scripts, all messages written in stdin and stderr are redirected + in server buffer * fix a filename error while loading a python script manually * fixed plugins "print" and "prnt" functions: now ok for writing on server buffers diff --git a/weechat/src/common/weeconfig.c b/weechat/src/common/weeconfig.c index be77d5447..23a4c7a86 100644 --- a/weechat/src/common/weeconfig.c +++ b/weechat/src/common/weeconfig.c @@ -514,7 +514,7 @@ t_config_option weechat_options_irc[] = { "irc_default_msg_part", N_("default part message (leaving channel)"), N_("default part message (leaving channel)"), OPTION_TYPE_STRING, 0, 0, 0, - "", NULL, NULL, &cfg_irc_default_msg_part, config_change_noop }, + "WeeChat %v", NULL, NULL, &cfg_irc_default_msg_part, config_change_noop }, { "irc_default_msg_quit", N_("default quit message"), N_("default quit message ('%v' will be replaced by WeeChat version in string)"), OPTION_TYPE_STRING, 0, 0, 0, diff --git a/weechat/src/irc/irc-send.c b/weechat/src/irc/irc-send.c index 002747b5a..1809c2c40 100644 --- a/weechat/src/irc/irc-send.c +++ b/weechat/src/irc/irc-send.c @@ -1138,7 +1138,7 @@ irc_cmd_send_oper (t_irc_server *server, char *arguments) int irc_cmd_send_part (t_irc_server *server, char *arguments) { - char *channel_name, *pos_args; + char *channel_name, *pos_args, *ptr_arg, *pos, buffer[4096]; t_irc_channel *ptr_channel; if (arguments) @@ -1192,16 +1192,28 @@ irc_cmd_send_part (t_irc_server *server, char *arguments) pos_args = NULL; } - if (pos_args) - server_sendf (server, "PART %s :%s\r\n", channel_name, pos_args); - else + ptr_arg = (pos_args) ? pos_args : + (cfg_irc_default_msg_part && cfg_irc_default_msg_part[0]) ? + cfg_irc_default_msg_part : NULL; + + if (ptr_arg) { - if (cfg_irc_default_msg_part && cfg_irc_default_msg_part[0]) - server_sendf (server, "PART %s :%s\r\n", - channel_name, cfg_irc_default_msg_part); + pos = strstr (ptr_arg, "%v"); + if (pos) + { + pos[0] = '\0'; + snprintf (buffer, sizeof (buffer), "%s%s%s", + ptr_arg, PACKAGE_VERSION, pos + 2); + pos[0] = '%'; + } else - server_sendf (server, "PART %s\r\n", channel_name); + snprintf (buffer, sizeof (buffer), "%s", + ptr_arg); + server_sendf (server, "PART %s :%s\r\n", + channel_name, buffer); } + else + server_sendf (server, "PART %s\r\n", channel_name); return 0; }