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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user