diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2017-06-10 16:21:11 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2017-06-10 16:21:11 +0200 |
commit | 54bf589d7da7b714002bf675f20c053426544d6f (patch) | |
tree | d0ce6d388ad7cfe9eb9e8b08ff5b589425b97d44 | |
parent | 8c8a0c0826ce66c83b08baf9470a2e6a6140b201 (diff) | |
download | weechat-54bf589d7da7b714002bf675f20c053426544d6f.zip |
core, plugins: fix conditions to insert elements in linked lists
This removes scan-build warnings about dereference of last_xxx null pointers.
-rw-r--r-- | src/core/wee-config-file.c | 4 | ||||
-rw-r--r-- | src/core/wee-config.c | 12 | ||||
-rw-r--r-- | src/core/wee-infolist.c | 14 | ||||
-rw-r--r-- | src/core/wee-proxy.c | 2 | ||||
-rw-r--r-- | src/core/wee-upgrade-file.c | 2 | ||||
-rw-r--r-- | src/gui/gui-bar-item.c | 2 | ||||
-rw-r--r-- | src/gui/gui-buffer.c | 8 | ||||
-rw-r--r-- | src/gui/gui-filter.c | 2 | ||||
-rw-r--r-- | src/gui/gui-layout.c | 4 | ||||
-rw-r--r-- | src/gui/gui-line.c | 6 | ||||
-rw-r--r-- | src/gui/gui-window.c | 2 | ||||
-rw-r--r-- | src/plugins/exec/exec.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-channel.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-ignore.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-nick.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-notify.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-raw.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-redirect.c | 4 | ||||
-rw-r--r-- | src/plugins/irc/irc-server.c | 4 | ||||
-rw-r--r-- | src/plugins/logger/logger-buffer.c | 2 | ||||
-rw-r--r-- | src/plugins/plugin.c | 2 | ||||
-rw-r--r-- | src/plugins/relay/relay-client.c | 2 | ||||
-rw-r--r-- | src/plugins/relay/relay-raw.c | 2 | ||||
-rw-r--r-- | src/plugins/script/script-repo.c | 2 | ||||
-rw-r--r-- | src/plugins/trigger/trigger.c | 6 |
25 files changed, 47 insertions, 47 deletions
diff --git a/src/core/wee-config-file.c b/src/core/wee-config-file.c index 199b0d1bc..208a4924b 100644 --- a/src/core/wee-config-file.c +++ b/src/core/wee-config-file.c @@ -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; diff --git a/src/core/wee-config.c b/src/core/wee-config.c index 441d8ef2b..3589a042a 100644 --- a/src/core/wee-config.c +++ b/src/core/wee-config.c @@ -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; } } diff --git a/src/core/wee-infolist.c b/src/core/wee-infolist.c index 99678cfbb..bf393e11c 100644 --- a/src/core/wee-infolist.c +++ b/src/core/wee-infolist.c @@ -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; diff --git a/src/core/wee-proxy.c b/src/core/wee-proxy.c index 57489daa3..2bb1b1880 100644 --- a/src/core/wee-proxy.c +++ b/src/core/wee-proxy.c @@ -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; diff --git a/src/core/wee-upgrade-file.c b/src/core/wee-upgrade-file.c index 89694c8f6..d2bfbd69d 100644 --- a/src/core/wee-upgrade-file.c +++ b/src/core/wee-upgrade-file.c @@ -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; diff --git a/src/gui/gui-bar-item.c b/src/gui/gui-bar-item.c index f9e59b285..33b6e9113 100644 --- a/src/gui/gui-bar-item.c +++ b/src/gui/gui-bar-item.c @@ -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; diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index 54a52a2cf..f30a78db7 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -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; diff --git a/src/gui/gui-filter.c b/src/gui/gui-filter.c index e32f2be4a..15338b022 100644 --- a/src/gui/gui-filter.c +++ b/src/gui/gui-filter.c @@ -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; diff --git a/src/gui/gui-layout.c b/src/gui/gui-layout.c index 4ca295a87..2a0128f55 100644 --- a/src/gui/gui-layout.c +++ b/src/gui/gui-layout.c @@ -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; diff --git a/src/gui/gui-line.c b/src/gui/gui-line.c index 63cfa6523..c34a7a970 100644 --- a/src/gui/gui-line.c +++ b/src/gui/gui-line.c @@ -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; diff --git a/src/gui/gui-window.c b/src/gui/gui-window.c index f3aaafc31..722dce13e 100644 --- a/src/gui/gui-window.c +++ b/src/gui/gui-window.c @@ -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; diff --git a/src/plugins/exec/exec.c b/src/plugins/exec/exec.c index 1ae407fbe..10fbd6386 100644 --- a/src/plugins/exec/exec.c +++ b/src/plugins/exec/exec.c @@ -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; diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c index 4a133d8f2..72bfaeeab 100644 --- a/src/plugins/irc/irc-channel.c +++ b/src/plugins/irc/irc-channel.c @@ -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; diff --git a/src/plugins/irc/irc-ignore.c b/src/plugins/irc/irc-ignore.c index 884a81fea..cfc45d6c6 100644 --- a/src/plugins/irc/irc-ignore.c +++ b/src/plugins/irc/irc-ignore.c @@ -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; diff --git a/src/plugins/irc/irc-nick.c b/src/plugins/irc/irc-nick.c index a05c35f55..cf3b294c2 100644 --- a/src/plugins/irc/irc-nick.c +++ b/src/plugins/irc/irc-nick.c @@ -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; diff --git a/src/plugins/irc/irc-notify.c b/src/plugins/irc/irc-notify.c index 93d2b4b8f..579046b29 100644 --- a/src/plugins/irc/irc-notify.c +++ b/src/plugins/irc/irc-notify.c @@ -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; diff --git a/src/plugins/irc/irc-raw.c b/src/plugins/irc/irc-raw.c index 62c38c924..d669aed10 100644 --- a/src/plugins/irc/irc-raw.c +++ b/src/plugins/irc/irc-raw.c @@ -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; diff --git a/src/plugins/irc/irc-redirect.c b/src/plugins/irc/irc-redirect.c index 70f0b3ba2..44648a00d 100644 --- a/src/plugins/irc/irc-redirect.c +++ b/src/plugins/irc/irc-redirect.c @@ -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; diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 07c36fc01..3ea5438e6 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -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; diff --git a/src/plugins/logger/logger-buffer.c b/src/plugins/logger/logger-buffer.c index 3de6b1ac2..ef2363935 100644 --- a/src/plugins/logger/logger-buffer.c +++ b/src/plugins/logger/logger-buffer.c @@ -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; diff --git a/src/plugins/plugin.c b/src/plugins/plugin.c index 7065dfcca..6d9d6583a 100644 --- a/src/plugins/plugin.c +++ b/src/plugins/plugin.c @@ -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; diff --git a/src/plugins/relay/relay-client.c b/src/plugins/relay/relay-client.c index e7bf52a88..a334db02c 100644 --- a/src/plugins/relay/relay-client.c +++ b/src/plugins/relay/relay-client.c @@ -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; diff --git a/src/plugins/relay/relay-raw.c b/src/plugins/relay/relay-raw.c index eda322ffa..9efd72bec 100644 --- a/src/plugins/relay/relay-raw.c +++ b/src/plugins/relay/relay-raw.c @@ -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; diff --git a/src/plugins/script/script-repo.c b/src/plugins/script/script-repo.c index 7321146c6..c29e9876e 100644 --- a/src/plugins/script/script-repo.c +++ b/src/plugins/script/script-repo.c @@ -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; diff --git a/src/plugins/trigger/trigger.c b/src/plugins/trigger/trigger.c index 506d13fbd..4cd2e7272 100644 --- a/src/plugins/trigger/trigger.c +++ b/src/plugins/trigger/trigger.c @@ -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; } } |