Refactor plugins_pre_chat_message_display for Memory Management
Refactor function to enhance memory handling, addressing
temporary workaround introduced in 2e0adbd. Adjustments
ensure cleaner code and maintainability.
Part of the improvements suggested by @sjaeckel.
This commit is contained in:
@@ -477,10 +477,10 @@ plugins_on_disconnect(const char* const account_name, const char* const fulljid)
|
||||
}
|
||||
|
||||
char*
|
||||
plugins_pre_chat_message_display(const char* const barejid, const char* const resource, const char* message)
|
||||
plugins_pre_chat_message_display(const char* const barejid, const char* const resource, char* message)
|
||||
{
|
||||
char* new_message = NULL;
|
||||
char* curr_message = strdup(message);
|
||||
char* curr_message = message;
|
||||
|
||||
GList* values = g_hash_table_get_values(plugins);
|
||||
GList* curr = values;
|
||||
@@ -489,8 +489,7 @@ plugins_pre_chat_message_display(const char* const barejid, const char* const re
|
||||
new_message = plugin->pre_chat_message_display(plugin, barejid, resource, curr_message);
|
||||
if (new_message) {
|
||||
free(curr_message);
|
||||
curr_message = strdup(new_message);
|
||||
free(new_message);
|
||||
curr_message = new_message;
|
||||
}
|
||||
curr = g_list_next(curr);
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ void plugins_on_shutdown(void);
|
||||
void plugins_on_connect(const char* const account_name, const char* const fulljid);
|
||||
void plugins_on_disconnect(const char* const account_name, const char* const fulljid);
|
||||
|
||||
char* plugins_pre_chat_message_display(const char* const barejid, const char* const resource, const char* message);
|
||||
char* plugins_pre_chat_message_display(const char* const barejid, const char* const resource, char* message);
|
||||
void plugins_post_chat_message_display(const char* const barejid, const char* const resource, const char* message);
|
||||
char* plugins_pre_chat_message_send(const char* const barejid, const char* message);
|
||||
void plugins_post_chat_message_send(const char* const barejid, const char* message);
|
||||
|
||||
Reference in New Issue
Block a user