summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/command.c120
-rw-r--r--src/common/weechat.c1
-rw-r--r--src/common/weeconfig.c2
-rw-r--r--src/irc/irc-display.c73
-rw-r--r--src/irc/irc-recv.c41
-rw-r--r--src/irc/irc-send.c28
-rw-r--r--src/irc/irc-server.c43
-rw-r--r--src/irc/irc.h1
8 files changed, 203 insertions, 106 deletions
diff --git a/src/common/command.c b/src/common/command.c
index c5e32a315..fd30e0d58 100644
--- a/src/common/command.c
+++ b/src/common/command.c
@@ -73,7 +73,7 @@ t_weechat_command weechat_commands[] =
"Without argument, /perl command lists all loaded Perl scripts."),
0, 2, weechat_cmd_perl, NULL },
{ "server", N_("list, add or remove servers"),
- N_("[list] | "
+ N_("[servername] | "
"[servername hostname port [-auto | -noauto] [-pwd password] [-nicks nick1 "
"[nick2 [nick3]]] [-username username] [-realname realname] "
"[-command command] [-autojoin channel[,channel]] ] | "
@@ -1366,110 +1366,36 @@ weechat_cmd_server (int argc, char **argv)
int i;
t_irc_server server, *ptr_server, *server_found, *new_server;
- if ((argc == 0) || ((argc == 1) && (strcasecmp (argv[0], "list") == 0)))
+ if ((argc == 0) || (argc == 1))
{
/* list all servers */
- if (irc_servers)
+ if (argc == 0)
{
- for (ptr_server = irc_servers; ptr_server;
- ptr_server = ptr_server->next_server)
+ if (irc_servers)
+ {
+ for (ptr_server = irc_servers; ptr_server;
+ ptr_server = ptr_server->next_server)
+ {
+ irc_display_server (ptr_server);
+ }
+ }
+ else
{
irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _("Server: "));
- gui_printf_color (NULL,
- COLOR_WIN_CHAT_CHANNEL,
- "%s", ptr_server->name);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT_DARK,
- " [");
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- "%s",
- (ptr_server->is_connected) ?
- _("connected") : _("not connected"));
- gui_printf_color (NULL,
- COLOR_WIN_CHAT_DARK,
- "]\n");
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Autoconnect: %s%s\n"),
- (ptr_server->autoconnect) ? _("yes") : _("no"),
- (ptr_server->command_line) ?
- _(" (temporary server, will not be saved)") :
- "");
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Hostname : %s\n"),
- ptr_server->address);
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Port : %d\n"),
- ptr_server->port);
- irc_display_prefix (NULL, PREFIX_INFO);
- if (ptr_server->password && ptr_server->password[0])
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Password : (hidden)\n"));
- else
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Password : (none)\n"));
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Nicks : %s"),
- ptr_server->nick1);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT_DARK,
- " / ");
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- "%s", ptr_server->nick2);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT_DARK,
- " / ");
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- "%s\n", ptr_server->nick3);
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Username : %s\n"),
- ptr_server->username);
- irc_display_prefix (NULL, PREFIX_INFO);
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Realname : %s\n"),
- ptr_server->realname);
- irc_display_prefix (NULL, PREFIX_INFO);
- if (ptr_server->command && ptr_server->command[0])
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Command : %s\n"),
- ptr_server->command);
- else
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Command : (none)\n"));
- irc_display_prefix (NULL, PREFIX_INFO);
- if (ptr_server->autojoin && ptr_server->autojoin[0])
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Auto-join : %s\n"),
- ptr_server->autojoin);
- else
- gui_printf_color (NULL,
- COLOR_WIN_CHAT,
- _(" Auto-join : (none)\n"));
+ gui_printf (NULL, _("No server.\n"));
}
}
else
- gui_printf (NULL, _("No server.\n"));
+ {
+ ptr_server = server_search (argv[0]);
+ if (ptr_server)
+ irc_display_server (ptr_server);
+ else
+ {
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf (NULL, _("Server '%s' not found.\n"), argv[0]);
+ }
+ }
}
else
{
diff --git a/src/common/weechat.c b/src/common/weechat.c
index 4c4ba7f6c..0243383aa 100644
--- a/src/common/weechat.c
+++ b/src/common/weechat.c
@@ -411,6 +411,7 @@ wee_create_home_dirs ()
fprintf (stderr, _("%s unable to create ~/.weechat/logs directory\n"),
WEECHAT_WARNING);
}
+ chmod (dir_name, 0700);
free (dir_name);
}
diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c
index 0d156d1d5..233c22906 100644
--- a/src/common/weeconfig.c
+++ b/src/common/weeconfig.c
@@ -591,7 +591,7 @@ t_config_option weechat_options_server[] =
"", NULL, NULL, &(cfg_server.command), NULL },
{ "server_command_delay", N_("delay (in seconds) after command was executed"),
N_("delay (in seconds) after command was executed (example: give some time for authentication)"),
- OPTION_TYPE_INT, 0, 3600, 1,
+ OPTION_TYPE_INT, 0, 5, 0,
NULL, NULL, &(cfg_server.command_delay), NULL, NULL },
{ "server_autojoin", N_("list of channels to join when connected to server"),
N_("comma separated list of channels to join when connected to server"),
diff --git a/src/irc/irc-display.c b/src/irc/irc-display.c
index 88ca46b01..78378198c 100644
--- a/src/irc/irc-display.c
+++ b/src/irc/irc-display.c
@@ -133,3 +133,76 @@ irc_display_mode (t_gui_buffer *buffer, char *channel_name, char set_flag,
else
gui_printf_color (buffer, COLOR_WIN_CHAT, " %s\n", message);
}
+
+/*
+ * irc_display_server: display server description
+ */
+
+void
+irc_display_server (t_irc_server *server)
+{
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT, _("Server: "));
+ gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, "%s", server->name);
+ gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, " [");
+ gui_printf_color (NULL, COLOR_WIN_CHAT, "%s",
+ (server->is_connected) ?
+ _("connected") : _("not connected"));
+ gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, "]\n");
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_autoconnect : %s%s\n",
+ (server->autoconnect) ? _("yes") : _("no"),
+ (server->command_line) ?
+ _(" (temporary server, will not be saved)") : "");
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_autoreconnect . . .: %s\n",
+ (server->autoreconnect) ? _("yes") : _("no"));
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_autoreconnect_delay: %d seconds\n",
+ server->autoreconnect_delay);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_address . . . . . .: %s\n",
+ server->address);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_port . . . . . . .: %d\n",
+ server->port);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_password . . . . .: %s\n",
+ (server->password && server->password[0]) ?
+ _("(hidden)") : "");
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_nick1/2/3 . . . . .: %s", server->nick1);
+ gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, " / ");
+ gui_printf_color (NULL, COLOR_WIN_CHAT, "%s", server->nick2);
+ gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, " / ");
+ gui_printf_color (NULL, COLOR_WIN_CHAT, "%s\n", server->nick3);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_username . . . . .: %s\n",
+ server->username);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_realname . . . . .: %s\n",
+ server->realname);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_command . . . . . .: %s\n",
+ (server->command && server->command[0]) ?
+ server->command : "");
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_command_delay . . .: %d seconds\n",
+ server->command_delay);
+ irc_display_prefix (NULL, PREFIX_INFO);
+ gui_printf_color (NULL, COLOR_WIN_CHAT,
+ " server_autojoin . . . . .: %s\n",
+ (server->autojoin && server->autojoin[0]) ?
+ server->autojoin : "");
+}
diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c
index 74400fbf0..8b193ca99 100644
--- a/src/irc/irc-recv.c
+++ b/src/irc/irc-recv.c
@@ -159,6 +159,7 @@ irc_cmd_recv_join (t_irc_server *server, char *host, char *arguments)
ptr_channel = channel_new (server, CHAT_CHANNEL, arguments, 1);
if (!ptr_channel)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create new channel \"%s\"\n"),
WEECHAT_ERROR, arguments);
@@ -225,6 +226,7 @@ irc_cmd_recv_kick (t_irc_server *server, char *host, char *arguments)
ptr_channel = channel_search (server, arguments);
if (!ptr_channel)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "kick");
@@ -257,6 +259,7 @@ irc_cmd_recv_kick (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s nick not found for \"%s\" command\n"),
WEECHAT_ERROR, "kick");
@@ -546,6 +549,7 @@ irc_cmd_recv_mode (t_irc_server *server, char *host, char *arguments)
/* no host => we can't identify sender of message! */
if (host == NULL)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without host\n"),
WEECHAT_ERROR, "mode");
@@ -560,6 +564,7 @@ irc_cmd_recv_mode (t_irc_server *server, char *host, char *arguments)
pos = strchr (arguments, ' ');
if (!pos)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without channel or nickname\n"),
WEECHAT_ERROR, "mode");
@@ -589,6 +594,7 @@ irc_cmd_recv_mode (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "mode");
@@ -598,6 +604,7 @@ irc_cmd_recv_mode (t_irc_server *server, char *host, char *arguments)
else
{
/* nickname modes */
+ irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "[");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "/");
@@ -626,6 +633,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
/* no host => we can't identify sender of message! */
if (host == NULL)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without host\n"),
WEECHAT_ERROR, "nick");
@@ -734,6 +742,7 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s nickname not found for \"%s\" command\n"),
WEECHAT_ERROR, "notice");
@@ -791,6 +800,7 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_SERVER);
if (host)
{
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", host);
@@ -825,6 +835,7 @@ irc_cmd_recv_part (t_irc_server *server, char *host, char *arguments)
/* no host => we can't identify sender of message! */
if (!host || !arguments)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without host or channel\n"),
WEECHAT_ERROR, "part");
@@ -899,6 +910,7 @@ irc_cmd_recv_part (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "part");
@@ -941,6 +953,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
/* no host => we can't identify sender of message! */
if (host == NULL)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without host\n"),
WEECHAT_ERROR, "privmsg");
@@ -1030,6 +1043,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s nick not found for \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1039,6 +1053,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1123,6 +1138,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
pos2 = strchr (pos, '\01');
if (!pos2)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1137,6 +1153,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
pos_size = strrchr (pos_file, ' ');
if (!pos_size)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1152,6 +1169,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
pos_port = strrchr (pos_file, ' ');
if (!pos_port)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1167,6 +1185,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
pos_addr = strrchr (pos_file, ' ');
if (!pos_addr)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1190,6 +1209,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, host, 0);
if (!ptr_channel)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR, host);
@@ -1261,6 +1281,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "privmsg");
@@ -1284,6 +1305,7 @@ irc_cmd_recv_quit (t_irc_server *server, char *host, char *arguments)
/* no host => we can't identify sender of message! */
if (host == NULL)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without host\n"),
WEECHAT_ERROR, "quit");
@@ -1406,7 +1428,7 @@ irc_cmd_recv_server_reply (t_irc_server *server, char *host, char *arguments)
pos2[0] = '\0';
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_CHANNEL,
- "%s%s",
+ "%s%s\n",
(first) ? "" : " ", pos);
first = 0;
pos = pos2 + 1;
@@ -1436,6 +1458,7 @@ irc_cmd_recv_topic (t_irc_server *server, char *host, char *arguments)
if (!string_is_channel (arguments))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command received without channel\n"),
WEECHAT_ERROR, "topic");
@@ -2398,6 +2421,7 @@ irc_cmd_recv_331 (t_irc_server *server, char *host, char *arguments)
pos = strchr (arguments, ' ');
if (pos)
pos[0] = '\0';
+ irc_display_prefix (gui_current_window->buffer, PREFIX_INFO);
gui_printf_color (gui_current_window->buffer,
COLOR_WIN_CHAT, _("No topic set for "));
gui_printf_color (gui_current_window->buffer,
@@ -2451,6 +2475,7 @@ irc_cmd_recv_332 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "332");
@@ -2460,6 +2485,7 @@ irc_cmd_recv_332 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot identify channel for \"%s\" command\n"),
WEECHAT_ERROR, "332");
@@ -2516,6 +2542,7 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s channel not found for \"%s\" command\n"),
WEECHAT_ERROR, "333");
@@ -2524,6 +2551,7 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot identify date/time for \"%s\" command\n"),
WEECHAT_ERROR, "333");
@@ -2532,6 +2560,7 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot identify nickname for \"%s\" command\n"),
WEECHAT_ERROR, "333");
@@ -2540,6 +2569,7 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot identify channel for \"%s\" command\n"),
WEECHAT_ERROR, "333");
@@ -2737,6 +2767,7 @@ irc_cmd_recv_353 (t_irc_server *server, char *host, char *arguments)
pos++;
if (pos[0] != ':')
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "353");
@@ -2768,15 +2799,19 @@ irc_cmd_recv_353 (t_irc_server *server, char *host, char *arguments)
pos++;
}
if (!nick_new (ptr_channel, pos_nick, is_op, is_halfop, has_voice))
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create nick \"%s\" for channel \"%s\"\n"),
WEECHAT_ERROR, pos_nick, ptr_channel->name);
+ }
}
}
gui_draw_buffer_nick (ptr_channel->buffer, 1);
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot parse \"%s\" command\n"),
WEECHAT_ERROR, "353");
@@ -2920,6 +2955,7 @@ irc_cmd_recv_433 (t_irc_server *server, char *host, char *arguments)
{
if (strcmp (server->nick, server->nick1) == 0)
{
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: nickname \"%s\" is already in use, "
"trying 2nd nickname \"%s\"\n"),
@@ -2931,6 +2967,7 @@ irc_cmd_recv_433 (t_irc_server *server, char *host, char *arguments)
{
if (strcmp (server->nick, server->nick2) == 0)
{
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: nickname \"%s\" is already in use, "
"trying 3rd nickname \"%s\"\n"),
@@ -2942,6 +2979,7 @@ irc_cmd_recv_433 (t_irc_server *server, char *host, char *arguments)
{
if (strcmp (server->nick, server->nick3) == 0)
{
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: all declared nicknames are already in use, "
"closing connection with server!\n"),
@@ -2951,6 +2989,7 @@ irc_cmd_recv_433 (t_irc_server *server, char *host, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: nickname \"%s\" is already in use, "
"trying 1st nickname \"%s\"\n"),
diff --git a/src/irc/irc-send.c b/src/irc/irc-send.c
index 6f6e72ac7..e2a9fc402 100644
--- a/src/irc/irc-send.c
+++ b/src/irc/irc-send.c
@@ -56,6 +56,7 @@ irc_login (t_irc_server *server)
hostname[sizeof (hostname) - 1] = '\0';
if (!hostname[0])
strcpy (hostname, _("unknown"));
+ irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf (server->buffer,
_("%s: using local hostname \"%s\"\n"),
PACKAGE_NAME, hostname);
@@ -266,9 +267,12 @@ irc_cmd_send_deop (t_irc_server *server, int argc, char **argv)
argv[i]);
}
else
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "deop");
+ }
return 0;
}
@@ -290,6 +294,7 @@ irc_cmd_send_devoice (t_irc_server *server, int argc, char **argv)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "devoice");
@@ -390,6 +395,7 @@ irc_cmd_send_kick (t_irc_server *server, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "kick");
@@ -497,6 +503,7 @@ irc_cmd_send_me (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "me");
@@ -563,6 +570,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "msg *");
@@ -579,9 +587,12 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
COLOR_WIN_CHAT, "%s\n", pos);
}
else
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s nick not found for \"%s\" command\n"),
WEECHAT_ERROR, "msg");
+ }
server_sendf (server, "PRIVMSG %s :%s\r\n", ptr_channel->name, pos);
}
else
@@ -601,9 +612,12 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
COLOR_WIN_CHAT, "%s\n", pos);
}
else
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s nick not found for \"%s\" command\n"),
WEECHAT_ERROR, "msg");
+ }
}
server_sendf (server, "PRIVMSG %s :%s\r\n", arguments, pos);
}
@@ -628,6 +642,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
}
}
+ irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf_color_type (server->buffer,
MSG_TYPE_NICK,
COLOR_WIN_CHAT_DARK, "-");
@@ -650,6 +665,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR,
@@ -680,6 +696,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "msg");
@@ -701,6 +718,7 @@ irc_cmd_send_names (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "names");
@@ -742,15 +760,17 @@ irc_cmd_send_notice (t_irc_server *server, char *arguments)
pos++;
while (pos[0] == ' ')
pos++;
- server_sendf (server, "NOTICE %s :%s\r\n", arguments, pos);
+ irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "notice");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, ")");
gui_printf_color (server->buffer, COLOR_WIN_CHAT, ": %s\n", pos);
+ server_sendf (server, "NOTICE %s :%s\r\n", arguments, pos);
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "notice");
@@ -777,6 +797,7 @@ irc_cmd_send_op (t_irc_server *server, int argc, char **argv)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "op");
@@ -824,6 +845,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@@ -837,6 +859,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@@ -913,6 +936,7 @@ irc_cmd_send_query (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR,
@@ -1144,6 +1168,7 @@ irc_cmd_send_topic (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "topic");
@@ -1249,6 +1274,7 @@ irc_cmd_send_voice (t_irc_server *server, int argc, char **argv)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "voice");
diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c
index 3fa6e745a..6ad7ea13d 100644
--- a/src/irc/irc-server.c
+++ b/src/irc/irc-server.c
@@ -394,8 +394,11 @@ server_sendf (t_irc_server * server, char *fmt, ...)
#endif
buf2 = weechat_convert_encoding (local_charset, cfg_look_charset_encode, buffer);
if (server_send (server, buf2, strlen (buf2)) <= 0)
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer, _("%s error sending data to IRC server\n"),
WEECHAT_ERROR);
+ }
free (buf2);
}
@@ -411,6 +414,7 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
message = (t_irc_message *) malloc (sizeof (t_irc_message));
if (!message)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@@ -422,9 +426,12 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
message->data = (char *) malloc (strlen (unterminated_message) +
strlen (msg) + 1);
if (!message->data)
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
+ }
else
{
strcpy (message->data, unterminated_message);
@@ -485,13 +492,17 @@ server_msgq_add_buffer (t_irc_server * server, char *buffer)
(char *) realloc (unterminated_message,
strlen (buffer) + 1);
if (!unterminated_message)
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
+ }
else
strcpy (unterminated_message, buffer);
return;
}
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s unable to explode received buffer\n"),
WEECHAT_ERROR);
@@ -566,17 +577,20 @@ server_msgq_flush ()
command, args))
{
case -1:
+ irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
- _("Command '%s' failed!\n"), command);
+ _("%s Command '%s' failed!\n"), WEECHAT_ERROR, command);
break;
case -2:
+ irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
- _("No command to execute!\n"));
+ _("%s No command to execute!\n"), WEECHAT_ERROR);
break;
case -3:
+ irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
- _("Unknown command: cmd=%s, args=%s\n"),
- command, args);
+ _("%s Unknown command: cmd=%s, args=%s\n"),
+ WEECHAT_ERROR, command, args);
break;
}
}
@@ -612,6 +626,7 @@ server_recv (t_irc_server *server)
}
else
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot read data from socket, disconnecting from server...\n"),
WEECHAT_ERROR);
@@ -633,6 +648,7 @@ server_connect (t_irc_server *server)
int error;
int server_pipe[2];
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: connecting to %s:%d...\n"),
PACKAGE_NAME, server->address, server->port);
@@ -643,6 +659,7 @@ server_connect (t_irc_server *server)
/* create pipe */
if (pipe (server_pipe) < 0)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create pipe\n"), WEECHAT_ERROR);
server_free (server);
@@ -657,21 +674,28 @@ server_connect (t_irc_server *server)
if (setsockopt
(server->sock4, SOL_SOCKET, SO_REUSEADDR, (char *) &set,
sizeof (set)) == -1)
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_REUSEADDR\"\n"),
WEECHAT_ERROR);
+ }
set = 1;
if (setsockopt
(server->sock4, SOL_SOCKET, SO_KEEPALIVE, (char *) &set,
sizeof (set)) == -1)
+ {
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_KEEPALIVE\"\n"),
WEECHAT_ERROR);
+ }
/* bind to hostname */
ip4_hostent = gethostbyname (server->address);
if (!ip4_hostent)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s address \"%s\" not found\n"),
WEECHAT_ERROR, server->address);
@@ -688,13 +712,15 @@ server_connect (t_irc_server *server)
/*error = bind(server->sock4, (struct sockaddr *)(&addr), sizeof(addr));
if (error != 0)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
- WEECHAT_ERORR "server_connect: can't bind to hostname\n");
+ _("%s can't bind to hostname\n"), WEECHAT_ERROR);
return 0;
- } */
+ }*/
ip_address = inet_ntoa (addr.sin_addr);
if (!ip_address)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s IP address not found\n"), WEECHAT_ERROR);
close (server->server_read);
@@ -705,12 +731,14 @@ server_connect (t_irc_server *server)
}
/* connection to server */
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: server IP is: %s\n"), PACKAGE_NAME, ip_address);
error = connect (server->sock4, (struct sockaddr *) &addr, sizeof (addr));
if (error != 0)
{
+ irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot connect to irc server\n"), WEECHAT_ERROR);
close (server->server_read);
@@ -730,6 +758,7 @@ server_connect (t_irc_server *server)
void
server_reconnect (t_irc_server *server)
{
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server...\n"),
PACKAGE_NAME);
server->reconnect_start = 0;
@@ -742,6 +771,7 @@ server_reconnect (t_irc_server *server)
else
{
server->reconnect_start = time (NULL);
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
@@ -813,6 +843,7 @@ server_disconnect (t_irc_server *server, int reconnect)
if ((reconnect) && (server->autoreconnect))
{
server->reconnect_start = time (NULL);
+ irc_display_prefix (server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
diff --git a/src/irc/irc.h b/src/irc/irc.h
index 007e9ebb0..dce8ae936 100644
--- a/src/irc/irc.h
+++ b/src/irc/irc.h
@@ -269,6 +269,7 @@ extern void irc_display_prefix (/*@null@*/ t_gui_buffer *, char *);
extern void irc_display_nick (t_gui_buffer *, t_irc_nick *, int, int, int, int);
extern void irc_display_mode (t_gui_buffer *, char *, char, char *, char *,
char *, char *);
+extern void irc_display_server (t_irc_server *ptr_server);
/* IRC protocol (irc-commands.c) */