diff options
author | TingPing <tingping@tingping.se> | 2014-12-28 06:37:25 -0500 |
---|---|---|
committer | TingPing <tingping@tingping.se> | 2014-12-28 06:44:44 -0500 |
commit | 83032b1aa3c3e5910c5cfd3e0ea1d25827f56475 (patch) | |
tree | 9be32a04d3070eac82177e11d182dad40a63baa7 /src/fe-gtk/fe-gtk.c | |
parent | c4cb1b25ec06a5b0cb718c6f8e74630df9a9bc64 (diff) |
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
Diffstat (limited to 'src/fe-gtk/fe-gtk.c')
-rw-r--r-- | src/fe-gtk/fe-gtk.c | 48 |
1 files changed, 19 insertions, 29 deletions
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index e180d46b..64382d68 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -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); } } |