mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-17 19:20:20 +00:00
Use glib for all allocations
- Removes need to check for malloc failure - Removes need for NULL checks on free - Adds checks for integer overflows - Removes some extra memset calls - Removes chance of mixing libc and glib malloc/free
This commit is contained in:
@@ -224,7 +224,7 @@ fe_args (int argc, char *argv[])
|
||||
/* cuts can. So we have to set the current dir manually, to the path */
|
||||
/* of the exe. */
|
||||
{
|
||||
char *tmp = strdup (argv[0]);
|
||||
char *tmp = g_strdup (argv[0]);
|
||||
char *sl;
|
||||
|
||||
sl = strrchr (tmp, G_DIR_SEPARATOR);
|
||||
@@ -233,7 +233,7 @@ fe_args (int argc, char *argv[])
|
||||
*sl = 0;
|
||||
chdir (tmp);
|
||||
}
|
||||
free (tmp);
|
||||
g_free (tmp);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -424,8 +424,7 @@ fe_new_window (session *sess, int focus)
|
||||
void
|
||||
fe_new_server (struct server *serv)
|
||||
{
|
||||
serv->gui = malloc (sizeof (struct server_gui));
|
||||
memset (serv->gui, 0, sizeof (struct server_gui));
|
||||
serv->gui = g_new0 (struct server_gui, 1);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -510,18 +509,15 @@ fe_set_topic (session *sess, char *topic, char *stripped_topic)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sess->res->topic_text)
|
||||
{
|
||||
free (sess->res->topic_text);
|
||||
}
|
||||
g_free (sess->res->topic_text);
|
||||
|
||||
if (prefs.hex_text_stripcolor_topic)
|
||||
{
|
||||
sess->res->topic_text = strdup (stripped_topic);
|
||||
sess->res->topic_text = g_strdup (stripped_topic);
|
||||
}
|
||||
else
|
||||
{
|
||||
sess->res->topic_text = strdup (topic);
|
||||
sess->res->topic_text = g_strdup (topic);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -547,9 +543,8 @@ fe_update_mode_entry (session *sess, GtkWidget *entry, char **text, char *new_te
|
||||
{
|
||||
if (sess->gui->is_tab)
|
||||
{
|
||||
if (*text)
|
||||
free (*text);
|
||||
*text = strdup (new_text);
|
||||
g_free (*text);
|
||||
*text = g_strdup (new_text);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -721,7 +716,7 @@ fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_f
|
||||
lbuf->search_lnee = strlen (lbuf->search_nee);
|
||||
}
|
||||
lbuf->search_flags = flags;
|
||||
lbuf->search_text = strdup (sstr);
|
||||
lbuf->search_text = g_strdup (sstr);
|
||||
gtk_xtext_lastlog (lbuf, buf);
|
||||
}
|
||||
|
||||
@@ -761,9 +756,8 @@ fe_set_lag (server *serv, long lag)
|
||||
sess = list->data;
|
||||
if (sess->server == serv)
|
||||
{
|
||||
if (sess->res->lag_tip)
|
||||
free (sess->res->lag_tip);
|
||||
sess->res->lag_tip = strdup (lagtip);
|
||||
g_free (sess->res->lag_tip);
|
||||
sess->res->lag_tip = g_strdup (lagtip);
|
||||
|
||||
if (!sess->gui->is_tab || current_tab == sess)
|
||||
{
|
||||
@@ -777,9 +771,8 @@ fe_set_lag (server *serv, long lag)
|
||||
} else
|
||||
{
|
||||
sess->res->lag_value = per;
|
||||
if (sess->res->lag_text)
|
||||
free (sess->res->lag_text);
|
||||
sess->res->lag_text = strdup (lagtext);
|
||||
g_free (sess->res->lag_text);
|
||||
sess->res->lag_text = g_strdup (lagtext);
|
||||
}
|
||||
}
|
||||
list = list->next;
|
||||
@@ -807,9 +800,8 @@ fe_set_throttle (server *serv)
|
||||
snprintf (tbuf, sizeof (tbuf) - 1, _("%d bytes"), serv->sendq_len);
|
||||
snprintf (tip, sizeof (tip) - 1, _("Network send queue: %d bytes"), serv->sendq_len);
|
||||
|
||||
if (sess->res->queue_tip)
|
||||
free (sess->res->queue_tip);
|
||||
sess->res->queue_tip = strdup (tip);
|
||||
g_free (sess->res->queue_tip);
|
||||
sess->res->queue_tip = g_strdup (tip);
|
||||
|
||||
if (!sess->gui->is_tab || current_tab == sess)
|
||||
{
|
||||
@@ -823,9 +815,8 @@ fe_set_throttle (server *serv)
|
||||
} else
|
||||
{
|
||||
sess->res->queue_value = per;
|
||||
if (sess->res->queue_text)
|
||||
free (sess->res->queue_text);
|
||||
sess->res->queue_text = strdup (tbuf);
|
||||
g_free (sess->res->queue_text);
|
||||
sess->res->queue_text = g_strdup (tbuf);
|
||||
}
|
||||
}
|
||||
list = list->next;
|
||||
@@ -977,9 +968,8 @@ fe_set_inputbox_contents (session *sess, char *text)
|
||||
SPELL_ENTRY_SET_TEXT (sess->gui->input_box, text);
|
||||
} else
|
||||
{
|
||||
if (sess->res->input_text)
|
||||
free (sess->res->input_text);
|
||||
sess->res->input_text = strdup (text);
|
||||
g_free (sess->res->input_text);
|
||||
sess->res->input_text = g_strdup (text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user