1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 19:53:13 +02:00

core, plugins: fix conditions to insert elements in linked lists

This removes scan-build warnings about dereference of last_xxx null pointers.
This commit is contained in:
Sébastien Helleu
2017-06-10 16:21:11 +02:00
parent 8c8a0c0826
commit 54bf589d7d
25 changed files with 47 additions and 47 deletions
+2 -2
View File
@@ -166,7 +166,7 @@ config_file_new (struct t_weechat_plugin *plugin, const char *name,
new_config_file->prev_config = last_config_file;
new_config_file->next_config = NULL;
if (config_files)
if (last_config_file)
last_config_file->next_config = new_config_file;
else
config_files = new_config_file;
@@ -286,7 +286,7 @@ config_file_new_section (struct t_config_file *config_file, const char *name,
new_section->prev_section = config_file->last_section;
new_section->next_section = NULL;
if (config_file->sections)
if (config_file->last_section)
config_file->last_section->next_section = new_section;
else
config_file->sections = new_section;
+6 -6
View File
@@ -1705,10 +1705,10 @@ config_weechat_proxy_read_cb (const void *pointer, void *data,
/* add new proxy at the end */
ptr_temp_proxy->prev_proxy = last_weechat_temp_proxy;
ptr_temp_proxy->next_proxy = NULL;
if (!weechat_temp_proxies)
weechat_temp_proxies = ptr_temp_proxy;
else
if (last_weechat_temp_proxy)
last_weechat_temp_proxy->next_proxy = ptr_temp_proxy;
else
weechat_temp_proxies = ptr_temp_proxy;
last_weechat_temp_proxy = ptr_temp_proxy;
}
}
@@ -1785,10 +1785,10 @@ config_weechat_bar_read_cb (const void *pointer, void *data,
/* add new bar at the end */
ptr_temp_bar->prev_bar = last_gui_temp_bar;
ptr_temp_bar->next_bar = NULL;
if (!gui_temp_bars)
gui_temp_bars = ptr_temp_bar;
else
if (last_gui_temp_bar)
last_gui_temp_bar->next_bar = ptr_temp_bar;
else
gui_temp_bars = ptr_temp_bar;
last_gui_temp_bar = ptr_temp_bar;
}
}
+7 -7
View File
@@ -57,7 +57,7 @@ infolist_new (struct t_weechat_plugin *plugin)
new_infolist->prev_infolist = last_weechat_infolist;
new_infolist->next_infolist = NULL;
if (weechat_infolists)
if (last_weechat_infolist)
last_weechat_infolist->next_infolist = new_infolist;
else
weechat_infolists = new_infolist;
@@ -114,7 +114,7 @@ infolist_new_item (struct t_infolist *infolist)
new_item->prev_item = infolist->last_item;
new_item->next_item = NULL;
if (infolist->items)
if (infolist->last_item)
infolist->last_item->next_item = new_item;
else
infolist->items = new_item;
@@ -150,7 +150,7 @@ infolist_new_var_integer (struct t_infolist_item *item,
new_var->prev_var = item->last_var;
new_var->next_var = NULL;
if (item->vars)
if (item->last_var)
item->last_var->next_var = new_var;
else
item->vars = new_var;
@@ -184,7 +184,7 @@ infolist_new_var_string (struct t_infolist_item *item,
new_var->prev_var = item->last_var;
new_var->next_var = NULL;
if (item->vars)
if (item->last_var)
item->last_var->next_var = new_var;
else
item->vars = new_var;
@@ -218,7 +218,7 @@ infolist_new_var_pointer (struct t_infolist_item *item,
new_var->prev_var = item->last_var;
new_var->next_var = NULL;
if (item->vars)
if (item->last_var)
item->last_var->next_var = new_var;
else
item->vars = new_var;
@@ -255,7 +255,7 @@ infolist_new_var_buffer (struct t_infolist_item *item,
new_var->prev_var = item->last_var;
new_var->next_var = NULL;
if (item->vars)
if (item->last_var)
item->last_var->next_var = new_var;
else
item->vars = new_var;
@@ -291,7 +291,7 @@ infolist_new_var_time (struct t_infolist_item *item,
new_var->prev_var = item->last_var;
new_var->next_var = NULL;
if (item->vars)
if (item->last_var)
item->last_var->next_var = new_var;
else
item->vars = new_var;
+1 -1
View File
@@ -403,7 +403,7 @@ proxy_new_with_options (const char *name,
/* add proxy to proxies list */
new_proxy->prev_proxy = last_weechat_proxy;
if (weechat_proxies)
if (last_weechat_proxy)
last_weechat_proxy->next_proxy = new_proxy;
else
weechat_proxies = new_proxy;
+1 -1
View File
@@ -245,7 +245,7 @@ upgrade_file_new (const char *filename,
/* add upgrade file to list of upgrade files */
new_upgrade_file->prev_upgrade = last_upgrade_file;
new_upgrade_file->next_upgrade = NULL;
if (upgrade_files)
if (last_upgrade_file)
last_upgrade_file->next_upgrade = new_upgrade_file;
else
upgrade_files = new_upgrade_file;
+1 -1
View File
@@ -557,7 +557,7 @@ gui_bar_item_new (struct t_weechat_plugin *plugin, const char *name,
/* add bar item to bar items queue */
new_bar_item->prev_item = last_gui_bar_item;
if (gui_bar_items)
if (last_gui_bar_item)
last_gui_bar_item->next_item = new_bar_item;
else
gui_bar_items = new_bar_item;
+4 -4
View File
@@ -501,7 +501,7 @@ gui_buffer_insert (struct t_gui_buffer *buffer)
}
buffer->prev_buffer = last_gui_buffer;
buffer->next_buffer = NULL;
if (gui_buffers)
if (last_gui_buffer)
last_gui_buffer->next_buffer = buffer;
else
gui_buffers = buffer;
@@ -3670,7 +3670,7 @@ gui_buffer_sort_by_layout_number ()
/* move the buffer in a temporary list */
ptr_buffer->prev_buffer = last_extra_buffer;
ptr_buffer->next_buffer = NULL;
if (extra_buffers)
if (last_extra_buffer)
last_extra_buffer->next_buffer = ptr_buffer;
else
extra_buffers = ptr_buffer;
@@ -3807,7 +3807,7 @@ gui_buffer_undo_add (struct t_gui_buffer *buffer)
/* add undo to the list */
new_undo->prev_undo = buffer->last_input_undo;
new_undo->next_undo = NULL;
if (buffer->input_undo)
if (buffer->last_input_undo)
(buffer->last_input_undo)->next_undo = new_undo;
else
buffer->input_undo = new_undo;
@@ -4014,7 +4014,7 @@ gui_buffer_visited_add (struct t_gui_buffer *buffer)
new_buffer_visited->prev_buffer = last_gui_buffer_visited;
new_buffer_visited->next_buffer = NULL;
if (gui_buffers_visited)
if (last_gui_buffer_visited)
last_gui_buffer_visited->next_buffer = new_buffer_visited;
else
gui_buffers_visited = new_buffer_visited;
+1 -1
View File
@@ -417,7 +417,7 @@ gui_filter_new (int enabled, const char *name, const char *buffer_name,
/* add filter to filters list */
new_filter->prev_filter = last_gui_filter;
if (gui_filters)
if (last_gui_filter)
last_gui_filter->next_filter = new_filter;
else
gui_filters = new_filter;
+2 -2
View File
@@ -122,7 +122,7 @@ gui_layout_add (struct t_gui_layout *layout)
layout->prev_layout = last_gui_layout;
layout->next_layout = NULL;
if (gui_layouts)
if (last_gui_layout)
last_gui_layout->next_layout = layout;
else
gui_layouts = layout;
@@ -234,7 +234,7 @@ gui_layout_buffer_add (struct t_gui_layout *layout,
/* add layout buffer to list */
new_layout_buffer->prev_layout = layout->last_layout_buffer;
if (layout->layout_buffers)
if (layout->last_layout_buffer)
(layout->last_layout_buffer)->next_layout = new_layout_buffer;
else
layout->layout_buffers = new_layout_buffer;
+3 -3
View File
@@ -937,10 +937,10 @@ gui_line_add_to_list (struct t_gui_lines *lines,
{
int prefix_length, prefix_is_nick;
if (!lines->first_line)
lines->first_line = line;
else
if (lines->last_line)
(lines->last_line)->next_line = line;
else
lines->first_line = line;
line->prev_line = lines->last_line;
line->next_line = NULL;
lines->last_line = line;
+1 -1
View File
@@ -678,7 +678,7 @@ gui_window_new (struct t_gui_window *parent_window, struct t_gui_buffer *buffer,
/* add window to windows queue */
new_window->prev_window = last_gui_window;
if (gui_windows)
if (last_gui_window)
last_gui_window->next_window = new_window;
else
gui_windows = new_window;
+1 -1
View File
@@ -136,7 +136,7 @@ exec_add ()
new_exec_cmd->prev_cmd = last_exec_cmd;
new_exec_cmd->next_cmd = NULL;
if (exec_cmds)
if (last_exec_cmd)
last_exec_cmd->next_cmd = new_exec_cmd;
else
exec_cmds = new_exec_cmd;
+1 -1
View File
@@ -486,7 +486,7 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
/* add new channel to channels list */
new_channel->prev_channel = server->last_channel;
new_channel->next_channel = NULL;
if (server->channels)
if (server->last_channel)
(server->last_channel)->next_channel = new_channel;
else
server->channels = new_channel;
+1 -1
View File
@@ -152,7 +152,7 @@ irc_ignore_new (const char *mask, const char *server, const char *channel)
/* add ignore to ignore list */
new_ignore->prev_ignore = last_irc_ignore;
if (irc_ignore_list)
if (last_irc_ignore)
last_irc_ignore->next_ignore = new_ignore;
else
irc_ignore_list = new_ignore;
+1 -1
View File
@@ -528,7 +528,7 @@ irc_nick_new (struct t_irc_server *server, struct t_irc_channel *channel,
/* add nick to end of list */
new_nick->prev_nick = channel->last_nick;
if (channel->nicks)
if (channel->last_nick)
channel->last_nick->next_nick = new_nick;
else
channel->nicks = new_nick;
+1 -1
View File
@@ -208,7 +208,7 @@ irc_notify_new (struct t_irc_server *server, const char *nick, int check_away)
/* add notify to notify list on server */
new_notify->prev_notify = server->last_notify;
if (server->notify_list)
if (server->last_notify)
server->last_notify->next_notify = new_notify;
else
server->notify_list = new_notify;
+1 -1
View File
@@ -205,7 +205,7 @@ irc_raw_message_add_to_list (time_t date, const char *prefix,
/* add message to list */
new_raw_message->prev_message = last_irc_raw_message;
new_raw_message->next_message = NULL;
if (irc_raw_messages)
if (last_irc_raw_message)
last_irc_raw_message->next_message = new_raw_message;
else
irc_raw_messages = new_raw_message;
+2 -2
View File
@@ -325,7 +325,7 @@ irc_redirect_pattern_new (const char *name, int temp_pattern, int timeout,
/* add redirect pattern to end of list */
new_redirect_pattern->prev_redirect = last_irc_redirect_pattern;
if (irc_redirect_patterns)
if (last_irc_redirect_pattern)
last_irc_redirect_pattern->next_redirect = new_redirect_pattern;
else
irc_redirect_patterns = new_redirect_pattern;
@@ -484,7 +484,7 @@ irc_redirect_new_with_commands (struct t_irc_server *server,
/* add redirect to end of list */
new_redirect->prev_redirect = server->last_redirect;
if (server->redirects)
if (server->last_redirect)
(server->last_redirect)->next_redirect = new_redirect;
else
server->redirects = new_redirect;
+2 -2
View File
@@ -1129,7 +1129,7 @@ irc_server_alloc (const char *name)
/* add new server to queue */
new_server->prev_server = last_irc_server;
new_server->next_server = NULL;
if (irc_servers)
if (last_irc_server)
last_irc_server->next_server = new_server;
else
irc_servers = new_server;
@@ -1558,7 +1558,7 @@ irc_server_outqueue_add (struct t_irc_server *server, int priority,
new_outqueue->prev_outqueue = server->last_outqueue[priority];
new_outqueue->next_outqueue = NULL;
if (server->outqueue[priority])
if (server->last_outqueue[priority])
server->last_outqueue[priority]->next_outqueue = new_outqueue;
else
server->outqueue[priority] = new_outqueue;
+1 -1
View File
@@ -98,7 +98,7 @@ logger_buffer_add (struct t_gui_buffer *buffer, int log_level)
new_logger_buffer->prev_buffer = last_logger_buffer;
new_logger_buffer->next_buffer = NULL;
if (logger_buffers)
if (last_logger_buffer)
last_logger_buffer->next_buffer = new_logger_buffer;
else
logger_buffers = new_logger_buffer;
+1 -1
View File
@@ -904,7 +904,7 @@ plugin_load (const char *filename, int init_plugin, int argc, char **argv)
/* add new plugin to list */
new_plugin->prev_plugin = last_weechat_plugin;
new_plugin->next_plugin = NULL;
if (weechat_plugins)
if (last_weechat_plugin)
last_weechat_plugin->next_plugin = new_plugin;
else
weechat_plugins = new_plugin;
+1 -1
View File
@@ -739,7 +739,7 @@ relay_client_outqueue_add (struct t_relay_client *client,
new_outqueue->prev_outqueue = client->last_outqueue;
new_outqueue->next_outqueue = NULL;
if (client->outqueue)
if (client->last_outqueue)
client->last_outqueue->next_outqueue = new_outqueue;
else
client->outqueue = new_outqueue;
+1 -1
View File
@@ -205,7 +205,7 @@ relay_raw_message_add_to_list (time_t date, const char *prefix,
/* add message to list */
new_raw_message->prev_message = last_relay_raw_message;
new_raw_message->next_message = NULL;
if (relay_raw_messages)
if (last_relay_raw_message)
last_relay_raw_message->next_message = new_raw_message;
else
relay_raw_messages = new_raw_message;
+1 -1
View File
@@ -563,7 +563,7 @@ script_repo_add (struct t_script_repo *script)
/* add script to the end */
script->prev_script = last_script_repo;
script->next_script = NULL;
if (scripts_repo)
if (last_script_repo)
last_script_repo->next_script = script;
else
scripts_repo = script;
+3 -3
View File
@@ -839,10 +839,10 @@ trigger_add (struct t_trigger *trigger,
/* add trigger to end of list */
trigger->prev_trigger = *last_list_trigger;
trigger->next_trigger = NULL;
if (!*list_triggers)
*list_triggers = trigger;
else
if (*last_list_trigger)
(*last_list_trigger)->next_trigger = trigger;
else
*list_triggers = trigger;
*last_list_trigger = trigger;
}
}