summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/command.c117
-rw-r--r--src/common/session.c6
-rw-r--r--src/common/session.h2
-rw-r--r--src/common/weeconfig.c7
-rw-r--r--src/gui/curses/gui-curses-window.c15
-rw-r--r--src/gui/gtk/gui-gtk-window.c10
-rw-r--r--src/gui/gui-action.c6
-rw-r--r--src/gui/gui.h1
-rw-r--r--src/irc/irc-display.c4
-rw-r--r--src/irc/irc-recv.c24
-rw-r--r--src/irc/irc-server.c81
-rw-r--r--src/irc/irc.h9
-rw-r--r--src/plugins/plugins-interface.c20
-rw-r--r--src/plugins/scripts/lua/weechat-lua.c25
-rw-r--r--src/plugins/scripts/perl/weechat-perl.c20
-rw-r--r--src/plugins/scripts/python/weechat-python.c24
-rw-r--r--src/plugins/scripts/ruby/weechat-ruby.c22
-rw-r--r--src/plugins/weechat-plugin.h2
18 files changed, 287 insertions, 108 deletions
diff --git a/src/common/command.c b/src/common/command.c
index 431d6e272..c7895e224 100644
--- a/src/common/command.c
+++ b/src/common/command.c
@@ -177,10 +177,11 @@ t_weechat_command weechat_commands[] =
NULL, 0, 1, 0, weechat_cmd_save, NULL },
{ "server", N_("list, add or remove servers"),
N_("[list [servername]] | [listfull [servername]] | "
- "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 "
- "nick2 nick3] [-username username] [-realname realname] "
- "[-command command] [-autojoin channel[,channel]] ] | "
- "[del servername]"),
+ "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] "
+ "[-pwd password] [-nicks nick1 nick2 nick3] [-username username] "
+ "[-realname realname] [-command command] [-autojoin channel[,channel]] ] | "
+ "[copy server newservername] [rename servername newservername] [del "
+ "servername]"),
N_(" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
"servername: server name, for internal and display use\n"
@@ -194,8 +195,10 @@ t_weechat_command weechat_commands[] =
" nick3: second alternate nick for server\n"
" username: user name\n"
" realname: real name of user\n"
+ " copy: duplicate a server\n"
+ " rename: rename a server\n"
" del: delete a server"),
- "del|list|listfull", 0, MAX_ARGS, 0, weechat_cmd_server, NULL },
+ "copy|rename|del|list|listfull %S %S", 0, MAX_ARGS, 0, weechat_cmd_server, NULL },
{ "set", N_("set config options"),
N_("[option [ = value]]"),
N_("option: name of an option (if name is full "
@@ -3022,22 +3025,112 @@ weechat_cmd_server (t_irc_server *server, t_irc_channel *channel,
}
else
{
- if (ascii_strcasecmp (argv[0], "del") == 0)
+ if (ascii_strcasecmp (argv[0], "copy") == 0)
{
- if (argc < 2)
+ if (argc < 3)
{
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
- _("%s missing servername for \"%s\" command\n"),
- WEECHAT_ERROR, "server del");
+ _("%s missing server name for \"%s\" command\n"),
+ WEECHAT_ERROR, "server copy");
+ return -1;
+ }
+
+ /* look for server by name */
+ server_found = irc_server_search (argv[1]);
+ if (!server_found)
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_ERROR);
+ gui_printf (NULL,
+ _("%s server \"%s\" not found for \"%s\" command\n"),
+ WEECHAT_ERROR, argv[1], "server copy");
+ return -1;
+ }
+
+ /* check if target name already exists */
+ if (irc_server_search (argv[2]))
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_ERROR);
+ gui_printf (NULL,
+ _("%s server \"%s\" already exists for \"%s\" command\n"),
+ WEECHAT_ERROR, argv[2], "server copy");
+ return -1;
+ }
+
+ /* duplicate server */
+ new_server = irc_server_duplicate (server_found, argv[2]);
+ if (new_server)
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_INFO);
+ gui_printf (NULL, _("Server %s%s%s has been copied to %s%s\n"),
+ GUI_COLOR(COLOR_WIN_CHAT_SERVER),
+ argv[1],
+ GUI_COLOR(COLOR_WIN_CHAT),
+ GUI_COLOR(COLOR_WIN_CHAT_SERVER),
+ argv[2]);
+ gui_window_redraw_all_buffers ();
+ return 0;
+ }
+
+ return -1;
+ }
+ if (ascii_strcasecmp (argv[0], "rename") == 0)
+ {
+ if (argc < 3)
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_ERROR);
+ gui_printf (NULL,
+ _("%s missing server name for \"%s\" command\n"),
+ WEECHAT_ERROR, "server rename");
+ return -1;
+ }
+
+ /* look for server by name */
+ server_found = irc_server_search (argv[1]);
+ if (!server_found)
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_ERROR);
+ gui_printf (NULL,
+ _("%s server \"%s\" not found for \"%s\" command\n"),
+ WEECHAT_ERROR, argv[1], "server rename");
+ return -1;
+ }
+
+ /* check if target name already exists */
+ if (irc_server_search (argv[2]))
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_ERROR);
+ gui_printf (NULL,
+ _("%s server \"%s\" already exists for \"%s\" command\n"),
+ WEECHAT_ERROR, argv[2], "server rename");
return -1;
}
- if (argc > 2)
+
+ /* rename server */
+ if (irc_server_rename (server_found, argv[2]))
+ {
+ irc_display_prefix (NULL, NULL, PREFIX_INFO);
+ gui_printf (NULL, _("Server %s%s%s has been renamed to %s%s\n"),
+ GUI_COLOR(COLOR_WIN_CHAT_SERVER),
+ argv[1],
+ GUI_COLOR(COLOR_WIN_CHAT),
+ GUI_COLOR(COLOR_WIN_CHAT_SERVER),
+ argv[2]);
+ gui_window_redraw_all_buffers ();
+ return 0;
+ }
+
+ return -1;
+ }
+ else if (ascii_strcasecmp (argv[0], "del") == 0)
+ {
+ if (argc < 2)
{
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
- _("%s too much arguments for \"%s\" command, ignoring arguments\n"),
- WEECHAT_WARNING, "server del");
+ _("%s missing server name for \"%s\" command\n"),
+ WEECHAT_ERROR, "server del");
+ return -1;
}
/* look for server by name */
diff --git a/src/common/session.c b/src/common/session.c
index 3c7d88625..516a06353 100644
--- a/src/common/session.c
+++ b/src/common/session.c
@@ -219,7 +219,7 @@ session_save_servers (FILE *file)
rc = rc && (session_write_int (file, SESSION_SERV_AUTOCONNECT, ptr_server->autoconnect));
rc = rc && (session_write_int (file, SESSION_SERV_AUTORECONNECT, ptr_server->autoreconnect));
rc = rc && (session_write_int (file, SESSION_SERV_AUTORECONNECT_DELAY, ptr_server->autoreconnect_delay));
- rc = rc && (session_write_int (file, SESSION_SERV_COMMAND_LINE, ptr_server->command_line));
+ rc = rc && (session_write_int (file, SESSION_SERV_TEMP_SERVER, ptr_server->temp_server));
rc = rc && (session_write_str (file, SESSION_SERV_ADDRESS, ptr_server->address));
rc = rc && (session_write_int (file, SESSION_SERV_PORT, ptr_server->port));
rc = rc && (session_write_int (file, SESSION_SERV_IPV6, ptr_server->ipv6));
@@ -881,8 +881,8 @@ session_load_server (FILE *file)
case SESSION_SERV_AUTORECONNECT_DELAY:
rc = rc && (session_read_int (file, &(session_current_server->autoreconnect_delay)));
break;
- case SESSION_SERV_COMMAND_LINE:
- rc = rc && (session_read_int (file, &(session_current_server->command_line)));
+ case SESSION_SERV_TEMP_SERVER:
+ rc = rc && (session_read_int (file, &(session_current_server->temp_server)));
break;
case SESSION_SERV_ADDRESS:
rc = rc && (session_read_str (file, &(session_current_server->address)));
diff --git a/src/common/session.h b/src/common/session.h
index a6efd826e..576ff1c26 100644
--- a/src/common/session.h
+++ b/src/common/session.h
@@ -54,7 +54,7 @@ enum t_session_server
SESSION_SERV_AUTOCONNECT,
SESSION_SERV_AUTORECONNECT,
SESSION_SERV_AUTORECONNECT_DELAY,
- SESSION_SERV_COMMAND_LINE,
+ SESSION_SERV_TEMP_SERVER,
SESSION_SERV_ADDRESS,
SESSION_SERV_PORT,
SESSION_SERV_IPV6,
diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c
index 43baeca48..2bde274e9 100644
--- a/src/common/weeconfig.c
+++ b/src/common/weeconfig.c
@@ -1188,10 +1188,7 @@ config_change_hotlist ()
void
config_change_read_marker ()
{
- t_gui_window *ptr_win;
-
- for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
- gui_window_redraw_buffer (ptr_win->buffer);
+ gui_window_redraw_all_buffers ();
}
/*
@@ -2526,7 +2523,7 @@ config_write (char *config_name)
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
- if (!ptr_server->command_line)
+ if (!ptr_server->temp_server)
{
weechat_iconv_fprintf (file, "\n[server]\n");
weechat_iconv_fprintf (file, "server_name = \"%s\"\n", ptr_server->name);
diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c
index a70017d3b..ae2096125 100644
--- a/src/gui/curses/gui-curses-window.c
+++ b/src/gui/curses/gui-curses-window.c
@@ -431,6 +431,21 @@ gui_window_redraw_buffer (t_gui_buffer *buffer)
}
/*
+ * gui_window_redraw_all_buffers: redraw all buffers
+ */
+
+void
+gui_window_redraw_all_buffers ()
+{
+ t_gui_window *ptr_win;
+
+ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
+ {
+ gui_window_redraw_buffer (ptr_win->buffer);
+ }
+}
+
+/*
* gui_window_switch_to_buffer: switch to another buffer
*/
diff --git a/src/gui/gtk/gui-gtk-window.c b/src/gui/gtk/gui-gtk-window.c
index e527f31a4..43342599a 100644
--- a/src/gui/gtk/gui-gtk-window.c
+++ b/src/gui/gtk/gui-gtk-window.c
@@ -157,6 +157,16 @@ gui_window_redraw_buffer (t_gui_buffer *buffer)
}
/*
+ * gui_window_redraw_all_buffers: redraw all buffers
+ */
+
+void
+gui_window_redraw_all_buffers ()
+{
+ /* TODO: write this function for Gtk */
+}
+
+/*
* gui_window_switch_to_buffer: switch to another buffer
*/
diff --git a/src/gui/gui-action.c b/src/gui/gui-action.c
index 34e4d1ab1..69be9c6ac 100644
--- a/src/gui/gui-action.c
+++ b/src/gui/gui-action.c
@@ -1405,7 +1405,6 @@ gui_action_scroll_unread (t_gui_window *window, char *args)
void
gui_action_set_unread (t_gui_window *window, char *args)
{
- t_gui_window *ptr_win;
t_gui_buffer *ptr_buffer;
/* make C compiler happy */
@@ -1421,10 +1420,7 @@ gui_action_set_unread (t_gui_window *window, char *args)
}
/* refresh all windows */
- for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
- {
- gui_window_redraw_buffer (ptr_win->buffer);
- }
+ gui_window_redraw_all_buffers ();
}
/*
diff --git a/src/gui/gui.h b/src/gui/gui.h
index 640c68eea..159eb501b 100644
--- a/src/gui/gui.h
+++ b/src/gui/gui.h
@@ -250,6 +250,7 @@ extern int gui_window_objects_init (t_gui_window *);
extern void gui_window_objects_free (t_gui_window *, int);
extern int gui_window_calculate_pos_size (t_gui_window *, int);
extern void gui_window_redraw_buffer (t_gui_buffer *);
+extern void gui_window_redraw_all_buffers ();
extern void gui_window_switch_to_buffer (t_gui_window *, t_gui_buffer *);
extern void gui_window_page_up (t_gui_window *);
extern void gui_window_page_down (t_gui_window *);
diff --git a/src/irc/irc-display.c b/src/irc/irc-display.c
index 31d12d310..69fca3477 100644
--- a/src/irc/irc-display.c
+++ b/src/irc/irc-display.c
@@ -396,7 +396,7 @@ irc_display_server (t_irc_server *server, int with_detail)
gui_printf (NULL, " server_autoconnect . . . . : %s%s\n",
(server->autoconnect) ? _("on") : _("off"),
- (server->command_line) ?
+ (server->temp_server) ?
_(" (temporary server, will not be saved)") : "");
gui_printf (NULL, " server_autoreconnect . . . : %s\n",
(server->autoreconnect) ? _("on") : _("off"));
@@ -478,6 +478,6 @@ irc_display_server (t_irc_server *server, int with_detail)
gui_printf (NULL, "%s]%s%s\n",
GUI_COLOR(COLOR_WIN_CHAT_DARK),
GUI_COLOR(COLOR_WIN_CHAT),
- (server->command_line) ? _(" (temporary)") : "");
+ (server->temp_server) ? _(" (temporary)") : "");
}
}
diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c
index dc720b3e8..618c97d46 100644
--- a/src/irc/irc-recv.c
+++ b/src/irc/irc-recv.c
@@ -2742,7 +2742,7 @@ irc_recv_cmd_303 (t_irc_server *server, char *host, char *nick, char *arguments)
int
irc_recv_cmd_305 (t_irc_server *server, char *host, char *nick, char *arguments)
{
- t_gui_window *ptr_window;
+ t_gui_window *ptr_win;
/* make C compiler happy */
(void) host;
@@ -2763,11 +2763,10 @@ irc_recv_cmd_305 (t_irc_server *server, char *host, char *nick, char *arguments)
}
server->is_away = 0;
server->away_time = 0;
- for (ptr_window = gui_windows; ptr_window;
- ptr_window = ptr_window->next_window)
+ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
- if (SERVER(ptr_window->buffer) == server)
- gui_status_draw (ptr_window->buffer, 1);
+ if (SERVER(ptr_win->buffer) == server)
+ gui_status_draw (ptr_win->buffer, 1);
}
return 0;
}
@@ -2779,7 +2778,7 @@ irc_recv_cmd_305 (t_irc_server *server, char *host, char *nick, char *arguments)
int
irc_recv_cmd_306 (t_irc_server *server, char *host, char *nick, char *arguments)
{
- t_gui_window *ptr_window;
+ t_gui_window *ptr_win;
/* make C compiler happy */
(void) host;
@@ -2800,14 +2799,13 @@ irc_recv_cmd_306 (t_irc_server *server, char *host, char *nick, char *arguments)
}
server->is_away = 1;
server->away_time = time (NULL);
- for (ptr_window = gui_windows; ptr_window;
- ptr_window = ptr_window->next_window)
+ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
- if (SERVER(ptr_window->buffer) == server)
- gui_status_draw (ptr_window->buffer, 1);
- if (SERVER(ptr_window->buffer) == server)
- ptr_window->buffer->last_read_line =
- ptr_window->buffer->last_line;
+ if (SERVER(ptr_win->buffer) == server)
+ gui_status_draw (ptr_win->buffer, 1);
+ if (SERVER(ptr_win->buffer) == server)
+ ptr_win->buffer->last_read_line =
+ ptr_win->buffer->last_line;
}
return 0;
}
diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c
index caaab7d74..b86af4a66 100644
--- a/src/irc/irc-server.c
+++ b/src/irc/irc-server.c
@@ -85,7 +85,7 @@ irc_server_init (t_irc_server *server)
server->autoconnect = 0;
server->autoreconnect = 1;
server->autoreconnect_delay = 30;
- server->command_line = 0;
+ server->temp_server = 0;
server->address = NULL;
server->port = -1;
server->ipv6 = 0;
@@ -466,7 +466,7 @@ irc_server_free_all ()
t_irc_server *
irc_server_new (char *name, int autoconnect, int autoreconnect,
- int autoreconnect_delay, int command_line, char *address,
+ int autoreconnect_delay, int temp_server, char *address,
int port, int ipv6, int ssl, char *password,
char *nick1, char *nick2, char *nick3, char *username,
char *realname, char *hostname, char *command, int command_delay,
@@ -496,7 +496,7 @@ irc_server_new (char *name, int autoconnect, int autoreconnect,
new_server->autoconnect = autoconnect;
new_server->autoreconnect = autoreconnect;
new_server->autoreconnect_delay = autoreconnect_delay;
- new_server->command_line = command_line;
+ new_server->temp_server = temp_server;
new_server->address = strdup (address);
new_server->port = port;
new_server->ipv6 = ipv6;
@@ -526,7 +526,74 @@ irc_server_new (char *name, int autoconnect, int autoreconnect,
}
/*
+ * irc_server_duplicate: duplicate a server
+ * return: pointer to new server, NULL if error
+ */
+
+t_irc_server *
+irc_server_duplicate (t_irc_server *server, char *new_name)
+{
+ t_irc_server *new_server;
+
+ /* check if another server exists with this name */
+ if (irc_server_search (new_name))
+ return 0;
+
+ /* duplicate server */
+ new_server = irc_server_new (new_name,
+ server->autoconnect,
+ server->autoreconnect,
+ server->autoreconnect_delay,
+ server->temp_server,
+ server->address,
+ server->port,
+ server->ipv6,
+ server->ssl,
+ server->password,
+ server->nick1,
+ server->nick2,
+ server->nick3,
+ server->username,
+ server->realname,
+ server->hostname,
+ server->command,
+ server->command_delay,
+ server->autojoin,
+ server->autorejoin,
+ server->notify_levels);
+
+ return new_server;
+}
+
+/*
+ * irc_server_rename: rename server (internal name)
+ * return: 1 if ok, 0 if error
+ */
+
+int
+irc_server_rename (t_irc_server *server, char *new_name)
+{
+ char *str;
+
+ /* check if another server exists with this name */
+ if (irc_server_search (new_name))
+ return 0;
+
+ /* rename server */
+ str = strdup (new_name);
+ if (str)
+ {
+ if (server->name)
+ free (server->name);
+ server->name = str;
+ return 1;
+ }
+ return 0;
+}
+
+/*
* irc_server_send: send data to IRC server
+ * return number of bytes sent, -1 if error
*/
int
@@ -1911,15 +1978,15 @@ irc_server_reconnect (t_irc_server *server)
*/
void
-irc_server_auto_connect (int auto_connect, int command_line)
+irc_server_auto_connect (int auto_connect, int temp_server)
{
t_irc_server *ptr_server;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
- if ( ((command_line) && (ptr_server->command_line))
- || ((!command_line) && (auto_connect) && (ptr_server->autoconnect)) )
+ if ( ((temp_server) && (ptr_server->temp_server))
+ || ((!temp_server) && (auto_connect) && (ptr_server->autoconnect)) )
{
(void) gui_buffer_new (gui_current_window, ptr_server, NULL,
BUFFER_TYPE_STANDARD, 1);
@@ -2255,7 +2322,7 @@ irc_server_print_log (t_irc_server *server)
weechat_log_printf (" autoconnect . . . . : %d\n", server->autoconnect);
weechat_log_printf (" autoreconnect . . . : %d\n", server->autoreconnect);
weechat_log_printf (" autoreconnect_delay : %d\n", server->autoreconnect_delay);
- weechat_log_printf (" command_line. . . . : %d\n", server->command_line);
+ weechat_log_printf (" temp_server . . . . : %d\n", server->temp_server);
weechat_log_printf (" address . . . . . . : '%s'\n", server->address);
weechat_log_printf (" port. . . . . . . . : %d\n", server->port);
weechat_log_printf (" ipv6. . . . . . . . : %d\n", server->ipv6);
diff --git a/src/irc/irc.h b/src/irc/irc.h
index eb86246b7..b1b2a345d 100644
--- a/src/irc/irc.h
+++ b/src/irc/irc.h
@@ -146,11 +146,11 @@ typedef struct t_irc_server t_irc_server;
struct t_irc_server
{
/* user choices */
- char *name; /* name of server (only for display) */
+ char *name; /* internal name of server */
int autoconnect; /* = 1 if auto connect at startup */
int autoreconnect; /* = 1 if auto reco when disconnected */
int autoreconnect_delay; /* delay before trying again reconnect */
- int command_line; /* server was given on command line */
+ int temp_server; /* server is temporary (will not be saved)*/
char *address; /* address of server (IP or name) */
int port; /* port for server (6667 by default) */
int ipv6; /* use IPv6 protocol */
@@ -373,9 +373,8 @@ extern void irc_server_free_all ();
extern t_irc_server *irc_server_new (char *, int, int, int, int, char *, int, int, int,
char *, char *, char *, char *, char *, char *,
char *, char *, int, char *, int, char *);
-extern char *irc_server_get_charset_decode_iso (t_irc_server *);
-extern char *irc_server_get_charset_decode_utf (t_irc_server *);
-extern char *irc_server_get_charset_encode (t_irc_server *);
+extern t_irc_server *irc_server_duplicate (t_irc_server *, char *);
+extern int irc_server_rename (t_irc_server *, char *);
extern int irc_server_send (t_irc_server *, char *, int);
extern void irc_server_outqueue_send (t_irc_server *);
extern void irc_server_sendf (t_irc_server *, char *, ...);
diff --git a/src/plugins/plugins-interface.c b/src/plugins/plugins-interface.c
index e980f1d4c..1f35e5d4d 100644
--- a/src/plugins/plugins-interface.c
+++ b/src/plugins/plugins-interface.c
@@ -916,7 +916,7 @@ weechat_plugin_get_server_info (t_weechat_plugin *plugin)
new_server_info->autoconnect = ptr_server->autoconnect;
new_server_info->autoreconnect = ptr_server->autoreconnect;
new_server_info->autoreconnect_delay = ptr_server->autoreconnect_delay;
- new_server_info->command_line = ptr_server->command_line;
+ new_server_info->temp_server = ptr_server->temp_server;
new_server_info->address = (ptr_server->address) ? strdup (ptr_server->address) : strdup ("");
new_server_info->port = ptr_server->port;
new_server_info->ipv6 = ptr_server->ipv6;
@@ -1246,7 +1246,7 @@ t_plugin_window_info *
weechat_plugin_get_window_info (t_weechat_plugin *plugin)
{
t_plugin_window_info *window_info, *last_window_info, *new_window_info;
- t_gui_window *ptr_window;
+ t_gui_window *ptr_win;
if (!plugin)
return NULL;
@@ -1255,18 +1255,18 @@ weechat_plugin_get_window_info (t_weechat_plugin *plugin)
{
window_info = NULL;
last_window_info = NULL;
- for (ptr_window = gui_windows; ptr_window; ptr_window = ptr_window->next_window)
+ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
new_window_info = (t_plugin_window_info *) malloc (sizeof (t_plugin_window_info));
if (new_window_info)
{
- new_window_info->win_x = ptr_window->win_x;
- new_window_info->win_y = ptr_window->win_y;
- new_window_info->win_width = ptr_window->win_width;
- new_window_info->win_height = ptr_window->win_height;
- new_window_info->win_width_pct = ptr_window->win_width_pct;
- new_window_info->win_height_pct = ptr_window->win_height_pct;
- new_window_info->num_buffer = (ptr_window->buffer) ? ptr_window->buffer->number : 0;
+ new_window_info->win_x = ptr_win->win_x;
+ new_window_info->win_y = ptr_win->win_y;
+ new_window_info->win_width = ptr_win->win_width;
+ new_window_info->win_height = ptr_win->win_height;
+ new_window_info->win_width_pct = ptr_win->win_width_pct;
+ new_window_info->win_height_pct = ptr_win->win_height_pct;
+ new_window_info->num_buffer = (ptr_win->buffer) ? ptr_win->buffer->number : 0;
new_window_info->prev_window = last_window_info;
new_window_info->next_window = NULL;
diff --git a/src/plugins/scripts/lua/weechat-lua.c b/src/plugins/scripts/lua/weechat-lua.c
index cbdb03734..15ee43e95 100644
--- a/src/plugins/scripts/lua/weechat-lua.c
+++ b/src/plugins/scripts/lua/weechat-lua.c
@@ -1672,8 +1672,8 @@ weechat_lua_get_server_info (lua_State *L)
lua_pushnumber (lua_current_interpreter, ptr_server->autoreconnect_delay);
lua_rawset (lua_current_interpreter, -3);
- lua_pushstring (lua_current_interpreter, "command_line");
- lua_pushnumber (lua_current_interpreter, ptr_server->command_line);
+ lua_pushstring (lua_current_interpreter, "temp_server");
+ lua_pushnumber (lua_current_interpreter, ptr_server->temp_server);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "address");
@@ -1973,7 +1973,7 @@ weechat_lua_get_irc_color (lua_State *L)
static int
weechat_lua_get_window_info (lua_State *L)
{
- t_plugin_window_info *window_info, *ptr_window;
+ t_plugin_window_info *window_info, *ptr_win;
int i;
/* make C compiler happy */
@@ -1997,40 +1997,43 @@ weechat_lua_get_window_info (lua_State *L)
lua_newtable (lua_current_interpreter);
- for (i = 0, ptr_window = window_info; ptr_window; ptr_window = ptr_window->next_window, i++)
+ i = 0;
+ for (ptr_win = window_info; ptr_win; ptr_win = ptr_win->next_window)
{
lua_pushnumber (lua_current_interpreter, i);
lua_newtable (lua_current_interpreter);
lua_pushstring (lua_current_interpreter, "num_buffer");
- lua_pushnumber (lua_current_interpreter, ptr_window->num_buffer);
+ lua_pushnumber (lua_current_interpreter, ptr_win->num_buffer);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_x");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_x);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_x);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_y");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_y);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_y);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_width");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_width);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_width);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_height");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_height);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_height);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_width_pct");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_width_pct);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_width_pct);
lua_rawset (lua_current_interpreter, -3);
lua_pushstring (lua_current_interpreter, "win_height_pct");
- lua_pushnumber (lua_current_interpreter, ptr_window->win_height_pct);
+ lua_pushnumber (lua_current_interpreter, ptr_win->win_height_pct);
lua_rawset (lua_current_interpreter, -3);
lua_rawset (lua_current_interpreter, -3);
+
+ i++;
}
lua_plugin->free_window_info (lua_plugin, window_info);
diff --git a/src/plugins/scripts/perl/weechat-perl.c b/src/plugins/scripts/perl/weechat-perl.c
index edf2a4499..748b47e3f 100644
--- a/src/plugins/scripts/perl/weechat-perl.c
+++ b/src/plugins/scripts/perl/weechat-perl.c
@@ -1465,7 +1465,7 @@ static XS (XS_weechat_get_server_info)
hv_store (server_hash_member, "autoconnect", 11, newSViv (ptr_server->autoconnect), 0);
hv_store (server_hash_member, "autoreconnect", 13, newSViv (ptr_server->autoreconnect), 0);
hv_store (server_hash_member, "autoreconnect_delay", 19, newSViv (ptr_server->autoreconnect_delay), 0);
- hv_store (server_hash_member, "command_line", 12, newSViv (ptr_server->command_line), 0);
+ hv_store (server_hash_member, "temp_server", 11, newSViv (ptr_server->temp_server), 0);
hv_store (server_hash_member, "address", 7, newSVpv (ptr_server->address, 0), 0);
hv_store (server_hash_member, "port", 4, newSViv (ptr_server->port), 0);
hv_store (server_hash_member, "ipv6", 4, newSViv (ptr_server->ipv6), 0);
@@ -1717,7 +1717,7 @@ static XS (XS_weechat_get_irc_color)
static XS (XS_weechat_get_window_info)
{
- t_plugin_window_info *window_info, *ptr_window;
+ t_plugin_window_info *window_info, *ptr_win;
int count;
HV *window_hash_member;
dXSARGS;
@@ -1739,17 +1739,17 @@ static XS (XS_weechat_get_window_info)
if (!window_info)
XSRETURN_EMPTY;
- for (ptr_window = window_info; ptr_window; ptr_window = ptr_window->next_window)
+ for (ptr_win = window_info; ptr_win; ptr_win = ptr_win->next_window)
{
window_hash_member = (HV *) sv_2mortal((SV *) newHV());
- hv_store (window_hash_member, "num_buffer", 10, newSViv (ptr_window->num_buffer), 0);
- hv_store (window_hash_member, "win_x", 5, newSViv (ptr_window->win_x), 0);
- hv_store (window_hash_member, "win_y", 5, newSViv (ptr_window->win_y), 0);
- hv_store (window_hash_member, "win_width", 9, newSViv (ptr_window->win_width), 0);
- hv_store (window_hash_member, "win_height", 10, newSViv (ptr_window->win_height), 0);
- hv_store (window_hash_member, "win_width_pct", 13, newSViv (ptr_window->win_width_pct), 0);
- hv_store (window_hash_member, "win_height_pct", 14, newSViv (ptr_window->win_height_pct), 0);
+ hv_store (window_hash_member, "num_buffer", 10, newSViv (ptr_win->num_buffer), 0);
+ hv_store (window_hash_member, "win_x", 5, newSViv (ptr_win->win_x), 0);
+ hv_store (window_hash_member, "win_y", 5, newSViv (ptr_win->win_y), 0);
+ hv_store (window_hash_member, "win_width", 9, newSViv (ptr_win->win_width), 0);
+ hv_store (window_hash_member, "win_height", 10, newSViv (ptr_win->win_height), 0);
+ hv_store (window_hash_member, "win_width_pct", 13, newSViv (ptr_win->win_width_pct), 0);
+ hv_store (window_hash_member, "win_height_pct", 14, newSViv (ptr_win->win_height_pct), 0);
XPUSHs(newRV_inc((SV *) window_hash_member));
count++;
diff --git a/src/plugins/scripts/python/weechat-python.c b/src/plugins/scripts/python/weechat-python.c
index 297e27ce9..f079572ce 100644
--- a/src/plugins/scripts/python/weechat-python.c
+++ b/src/plugins/scripts/python/weechat-python.c
@@ -1495,8 +1495,8 @@ weechat_python_get_server_info (PyObject *self, PyObject *args)
Py_DECREF (key);
Py_DECREF (value);
- key = Py_BuildValue("s", "command_line");
- value = Py_BuildValue("i", ptr_server->command_line);
+ key = Py_BuildValue("s", "temp_server");
+ value = Py_BuildValue("i", ptr_server->temp_server);
PyDict_SetItem(server_hash_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
@@ -1856,7 +1856,7 @@ weechat_python_get_irc_color (PyObject *self, PyObject *args)
static PyObject *
weechat_python_get_window_info (PyObject *self, PyObject *args)
{
- t_plugin_window_info *window_info, *ptr_window;
+ t_plugin_window_info *window_info, *ptr_win;
PyObject *window_list, *window_list_member, *key, *value;
/* make C compiler happy */
@@ -1879,53 +1879,53 @@ weechat_python_get_window_info (PyObject *self, PyObject *args)
}
window_info = python_plugin->get_window_info (python_plugin);
- if (!window_info)
+ if (!window_info)
return window_list;
- for(ptr_window = window_info; ptr_window; ptr_window = ptr_window->next_window)
+ for (ptr_win = window_info; ptr_win; ptr_win = ptr_win->next_window)
{
window_list_member = PyDict_New();
if (window_list_member)
{
key = Py_BuildValue("s", "num_buffer");
- value = Py_BuildValue("i", ptr_window->num_buffer);
+ value = Py_BuildValue("i", ptr_win->num_buffer);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_x");
- value = Py_BuildValue("i", ptr_window->win_x);
+ value = Py_BuildValue("i", ptr_win->win_x);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_y");
- value = Py_BuildValue("i", ptr_window->win_y);
+ value = Py_BuildValue("i", ptr_win->win_y);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_width");
- value = Py_BuildValue("i", ptr_window->win_width);
+ value = Py_BuildValue("i", ptr_win->win_width);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_height");
- value = Py_BuildValue("i", ptr_window->win_height);
+ value = Py_BuildValue("i", ptr_win->win_height);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_width_pct");
- value = Py_BuildValue("i", ptr_window->win_width_pct);
+ value = Py_BuildValue("i", ptr_win->win_width_pct);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
key = Py_BuildValue("s", "win_height_pct");
- value = Py_BuildValue("i", ptr_window->win_height_pct);
+ value = Py_BuildValue("i", ptr_win->win_height_pct);
PyDict_SetItem(window_list_member, key, value);
Py_DECREF (key);
Py_DECREF (value);
diff --git a/src/plugins/scripts/ruby/weechat-ruby.c b/src/plugins/scripts/ruby/weechat-ruby.c
index 586cebf2d..c50d51e82 100644
--- a/src/plugins/scripts/ruby/weechat-ruby.c
+++ b/src/plugins/scripts/ruby/weechat-ruby.c
@@ -1669,8 +1669,8 @@ weechat_ruby_get_server_info (VALUE class)
INT2FIX(ptr_server->autoreconnect));
rb_hash_aset (server_hash_member, rb_str_new2("autoreconnect_delay"),
INT2FIX(ptr_server->autoreconnect_delay));
- rb_hash_aset (server_hash_member, rb_str_new2("command_line"),
- INT2FIX(ptr_server->command_line));
+ rb_hash_aset (server_hash_member, rb_str_new2("temp_server"),
+ INT2FIX(ptr_server->temp_server));
rb_hash_aset (server_hash_member, rb_str_new2("address"),
rb_str_new2(ptr_server->address));
rb_hash_aset (server_hash_member, rb_str_new2("port"),
@@ -1910,7 +1910,7 @@ weechat_ruby_get_irc_color (VALUE class, VALUE color)
static VALUE
weechat_ruby_get_window_info (VALUE class)
{
- t_plugin_window_info *window_info, *ptr_window;
+ t_plugin_window_info *window_info, *ptr_win;
VALUE window_list, window_list_member;
/* make C compiler happy */
@@ -1933,26 +1933,26 @@ weechat_ruby_get_window_info (VALUE class)
if (!window_info)
return window_list;
- for(ptr_window = window_info; ptr_window; ptr_window = ptr_window->next_window)
+ for (ptr_win = window_info; ptr_win; ptr_win = ptr_win->next_window)
{
window_list_member = rb_hash_new ();
if (!NIL_P (window_list_member))
{
rb_hash_aset (window_list_member, rb_str_new2("num_buffer"),
- INT2FIX(ptr_window->num_buffer));
+ INT2FIX(ptr_win->num_buffer));
rb_hash_aset (window_list_member, rb_str_new2("win_x"),
- INT2FIX(ptr_window->win_x));
+ INT2FIX(ptr_win->win_x));
rb_hash_aset (window_list_member, rb_str_new2("win_y"),
- INT2FIX(ptr_window->win_y));
+ INT2FIX(ptr_win->win_y));
rb_hash_aset (window_list_member, rb_str_new2("win_width"),
- INT2FIX(ptr_window->win_width));
+ INT2FIX(ptr_win->win_width));
rb_hash_aset (window_list_member, rb_str_new2("win_height"),
- INT2FIX(ptr_window->win_height));
+ INT2FIX(ptr_win->win_height));
rb_hash_aset (window_list_member, rb_str_new2("win_width_pct"),
- INT2FIX(ptr_window->win_width_pct));
+ INT2FIX(ptr_win->win_width_pct));
rb_hash_aset (window_list_member, rb_str_new2("win_height_pct"),
- INT2FIX(ptr_window->win_height_pct));
+ INT2FIX(ptr_win->win_height_pct));
rb_ary_push (window_list, window_list_member);
}
diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h
index dc85e26b0..e0ea0c36b 100644
--- a/src/plugins/weechat-plugin.h
+++ b/src/plugins/weechat-plugin.h
@@ -86,7 +86,7 @@ struct t_plugin_server_info
int autoconnect; /* = 1 if auto connect at startup */
int autoreconnect; /* = 1 if auto reco when disconnected */
int autoreconnect_delay; /* delay before trying again reconnect */
- int command_line; /* server was given on command line */
+ int temp_server; /* server was given on command line */
char *address; /* address of server (IP or name) */
int port; /* port for server (6667 by default) */
int ipv6; /* use IPv6 protocol */