mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-12 16:50:19 +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:
@@ -491,7 +491,7 @@ banlist_unban_inner (gpointer none, banlist_info *banl, int mode_num)
|
||||
if (!gtk_tree_model_get_iter_first (model, &iter))
|
||||
return 0;
|
||||
|
||||
masks = g_malloc (sizeof (char *) * banl->line_ct);
|
||||
masks = g_new (char *, banl->line_ct);
|
||||
num_sel = 0;
|
||||
do
|
||||
{
|
||||
@@ -577,17 +577,17 @@ static void
|
||||
banlist_add_selected_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
|
||||
{
|
||||
GSList **lp = data;
|
||||
GSList *list = NULL;
|
||||
GtkTreeIter *copy;
|
||||
|
||||
if (!lp) return;
|
||||
list = *lp;
|
||||
copy = g_malloc (sizeof (GtkTreeIter));
|
||||
g_return_if_fail (copy != NULL);
|
||||
if (lp == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
copy = g_new (GtkTreeIter, 1);
|
||||
*copy = *iter;
|
||||
|
||||
list = g_slist_append (list, copy);
|
||||
*(GSList **)data = list;
|
||||
*lp = g_slist_append (*lp, copy);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -786,14 +786,9 @@ banlist_opengui (struct session *sess)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!sess->res->banlist)
|
||||
if (sess->res->banlist == NULL)
|
||||
{
|
||||
sess->res->banlist = g_malloc0 (sizeof (banlist_info));
|
||||
if (!sess->res->banlist)
|
||||
{
|
||||
fe_message (_("Banlist initialization failed."), FE_MSG_ERROR);
|
||||
return;
|
||||
}
|
||||
sess->res->banlist = g_new0 (banlist_info, 1);
|
||||
}
|
||||
banl = sess->res->banlist;
|
||||
if (banl->window)
|
||||
|
||||
@@ -148,7 +148,7 @@ chanlist_data_free (server *serv)
|
||||
data = rows->data;
|
||||
g_free (data->topic);
|
||||
g_free (data->collation_key);
|
||||
free (data);
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
g_slist_free (serv->gui->chanlist_data_stored_rows);
|
||||
@@ -370,7 +370,7 @@ fe_add_chan_list (server *serv, char *chan, char *users, char *topic)
|
||||
int len = strlen (chan) + 1;
|
||||
|
||||
/* we allocate the struct and channel string in one go */
|
||||
next_row = malloc (sizeof (chanlistrow) + len);
|
||||
next_row = g_malloc (sizeof (chanlistrow) + len);
|
||||
memcpy (((char *)next_row) + sizeof (chanlistrow), chan, len);
|
||||
next_row->topic = strip_color (topic, -1, STRIP_ALL);
|
||||
next_row->collation_key = g_utf8_collate_key (chan, len-1);
|
||||
|
||||
@@ -111,9 +111,8 @@ truncate_tab_name (char *name, int max)
|
||||
if (max > 2 && g_utf8_strlen (name, -1) > max)
|
||||
{
|
||||
/* truncate long channel names */
|
||||
buf = malloc (strlen (name) + 4);
|
||||
strcpy (buf, name);
|
||||
g_utf8_offset_to_pointer (buf, max)[0] = 0;
|
||||
buf = g_malloc (strlen (name) + 4);
|
||||
g_utf8_strncpy (buf, name, max);
|
||||
strcat (buf, "..");
|
||||
return buf;
|
||||
}
|
||||
@@ -231,7 +230,7 @@ chanview_free_ch (chanview *cv, GtkTreeIter *iter)
|
||||
chan *ch;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (cv->store), iter, COL_CHAN, &ch, -1);
|
||||
free (ch);
|
||||
g_free (ch);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -251,7 +250,7 @@ chanview_destroy (chanview *cv)
|
||||
gtk_widget_destroy (cv->box);
|
||||
|
||||
chanview_destroy_store (cv);
|
||||
free (cv);
|
||||
g_free (cv);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -267,7 +266,7 @@ chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons,
|
||||
{
|
||||
chanview *cv;
|
||||
|
||||
cv = calloc (1, sizeof (chanview));
|
||||
cv = g_new0 (chanview, 1);
|
||||
cv->store = gtk_tree_store_new (4, G_TYPE_STRING, G_TYPE_POINTER,
|
||||
PANGO_TYPE_ATTR_LIST, GDK_TYPE_PIXBUF);
|
||||
cv->style = style;
|
||||
@@ -368,7 +367,7 @@ chanview_add_real (chanview *cv, char *name, void *family, void *userdata,
|
||||
|
||||
if (!ch)
|
||||
{
|
||||
ch = calloc (1, sizeof (chan));
|
||||
ch = g_new0 (chan, 1);
|
||||
ch->userdata = userdata;
|
||||
ch->family = family;
|
||||
ch->cv = cv;
|
||||
@@ -401,7 +400,7 @@ chanview_add (chanview *cv, char *name, void *family, void *userdata, gboolean a
|
||||
ret = chanview_add_real (cv, new_name, family, userdata, allow_closure, tag, icon, NULL, NULL);
|
||||
|
||||
if (new_name != name)
|
||||
free (new_name);
|
||||
g_free (new_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -492,7 +491,7 @@ chan_rename (chan *ch, char *name, int trunc_len)
|
||||
ch->cv->trunc_len = trunc_len;
|
||||
|
||||
if (new_name != name)
|
||||
free (new_name);
|
||||
g_free (new_name);
|
||||
}
|
||||
|
||||
/* this thing is overly complicated */
|
||||
@@ -645,7 +644,7 @@ chan_remove (chan *ch, gboolean force)
|
||||
|
||||
ch->cv->size--;
|
||||
gtk_tree_store_remove (ch->cv->store, &ch->iter);
|
||||
free (ch);
|
||||
g_free (ch);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -727,7 +727,7 @@ custom_list_resort (CustomList * custom_list)
|
||||
custom_list);
|
||||
|
||||
/* let other objects know about the new order */
|
||||
neworder = malloc (sizeof (gint) * custom_list->num_rows);
|
||||
neworder = g_new (gint, custom_list->num_rows);
|
||||
|
||||
for (i = custom_list->num_rows - 1; i >= 0; i--)
|
||||
{
|
||||
@@ -744,7 +744,7 @@ custom_list_resort (CustomList * custom_list)
|
||||
gtk_tree_model_rows_reordered (GTK_TREE_MODEL (custom_list), path, NULL,
|
||||
neworder);
|
||||
gtk_tree_path_free (path);
|
||||
free (neworder);
|
||||
g_free (neworder);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -130,25 +130,25 @@ dcc_send_filereq_file (struct my_dcc_send *mdc, char *file)
|
||||
dcc_send (mdc->sess, mdc->nick, file, mdc->maxcps, mdc->passive);
|
||||
else
|
||||
{
|
||||
free (mdc->nick);
|
||||
free (mdc);
|
||||
g_free (mdc->nick);
|
||||
g_free (mdc);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive)
|
||||
{
|
||||
char tbuf[128];
|
||||
struct my_dcc_send *mdc;
|
||||
|
||||
mdc = malloc (sizeof (*mdc));
|
||||
char* tbuf = g_strdup_printf (_("Send file to %s"), nick);
|
||||
|
||||
struct my_dcc_send *mdc = g_new (struct my_dcc_send, 1);
|
||||
mdc->sess = sess;
|
||||
mdc->nick = strdup (nick);
|
||||
mdc->nick = g_strdup (nick);
|
||||
mdc->maxcps = maxcps;
|
||||
mdc->passive = passive;
|
||||
|
||||
snprintf (tbuf, sizeof tbuf, _("Send file to %s"), nick);
|
||||
gtkutil_file_req (tbuf, dcc_send_filereq_file, mdc, prefs.hex_dcc_dir, NULL, FRF_MULTIPLE|FRF_FILTERISINITIAL);
|
||||
|
||||
g_free (tbuf);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -565,7 +565,7 @@ key_dialog_save (GtkWidget *wid, gpointer userdata)
|
||||
{
|
||||
do
|
||||
{
|
||||
kb = (struct key_binding *) g_malloc0 (sizeof (struct key_binding));
|
||||
kb = g_new0 (struct key_binding, 1);
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, ACCEL_COLUMN, &accel,
|
||||
ACTION_COLUMN, &actiontext,
|
||||
@@ -945,7 +945,7 @@ key_load_kbs (void)
|
||||
fd = hexchat_open_file ("keybindings.conf", O_RDONLY, 0, 0);
|
||||
if (fd < 0)
|
||||
{
|
||||
ibuf = strdup (default_kb_cfg);
|
||||
ibuf = g_strdup (default_kb_cfg);
|
||||
size = strlen (default_kb_cfg);
|
||||
}
|
||||
else
|
||||
@@ -956,7 +956,7 @@ key_load_kbs (void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
ibuf = malloc (st.st_size);
|
||||
ibuf = g_malloc(st.st_size);
|
||||
read (fd, ibuf, st.st_size);
|
||||
size = st.st_size;
|
||||
close (fd);
|
||||
@@ -978,7 +978,7 @@ key_load_kbs (void)
|
||||
switch (state)
|
||||
{
|
||||
case KBSTATE_MOD:
|
||||
kb = (struct key_binding *) g_malloc0 (sizeof (struct key_binding));
|
||||
kb = g_new0 (struct key_binding, 1);
|
||||
|
||||
/* New format */
|
||||
if (strncmp (buf, "ACCEL=", 6) == 0)
|
||||
@@ -1009,7 +1009,7 @@ key_load_kbs (void)
|
||||
keyval = gdk_keyval_from_name (buf);
|
||||
if (keyval == 0)
|
||||
{
|
||||
free (ibuf);
|
||||
g_free (ibuf);
|
||||
return 2;
|
||||
}
|
||||
|
||||
@@ -1025,7 +1025,7 @@ key_load_kbs (void)
|
||||
|
||||
if (kb->action == KEY_MAX_ACTIONS + 1)
|
||||
{
|
||||
free (ibuf);
|
||||
g_free (ibuf);
|
||||
return 3;
|
||||
}
|
||||
|
||||
@@ -1042,7 +1042,7 @@ key_load_kbs (void)
|
||||
|
||||
if (buf[0] != 'D')
|
||||
{
|
||||
free (ibuf);
|
||||
g_free (ibuf);
|
||||
return 4;
|
||||
}
|
||||
|
||||
@@ -1068,12 +1068,10 @@ key_load_kbs (void)
|
||||
len -= 3;
|
||||
if (state == KBSTATE_DT1)
|
||||
{
|
||||
kb->data1 = g_malloc (len);
|
||||
memcpy (kb->data1, &buf[3], len);
|
||||
kb->data1 = g_strndup (&buf[3], len);
|
||||
} else
|
||||
{
|
||||
kb->data2 = g_malloc (len);
|
||||
memcpy (kb->data2, &buf[3], len);
|
||||
kb->data2 = g_strndup (&buf[3], len);
|
||||
}
|
||||
} else if (buf[2] == '!')
|
||||
{
|
||||
@@ -1096,12 +1094,12 @@ key_load_kbs (void)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
free (ibuf);
|
||||
g_free (ibuf);
|
||||
return 0;
|
||||
|
||||
corrupt_file:
|
||||
free (ibuf);
|
||||
free (kb);
|
||||
g_free (ibuf);
|
||||
g_free (kb);
|
||||
return 5;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ static void
|
||||
gtkutil_file_req_destroy (GtkWidget * wid, struct file_req *freq)
|
||||
{
|
||||
freq->callback (freq->userdata, NULL);
|
||||
free (freq);
|
||||
g_free (freq);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -255,7 +255,7 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
|
||||
|
||||
gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), get_xdir (), NULL);
|
||||
|
||||
freq = malloc (sizeof (struct file_req));
|
||||
freq = g_new (struct file_req, 1);
|
||||
freq->dialog = dialog;
|
||||
freq->flags = flags;
|
||||
freq->callback = callback;
|
||||
|
||||
@@ -312,7 +312,7 @@ mg_inputbox_cb (GtkWidget *igad, session_gui *gui)
|
||||
if (cmd[0] == 0)
|
||||
return;
|
||||
|
||||
cmd = strdup (cmd);
|
||||
cmd = g_strdup (cmd);
|
||||
|
||||
/* avoid recursive loop */
|
||||
ignore = TRUE;
|
||||
@@ -340,7 +340,7 @@ mg_inputbox_cb (GtkWidget *igad, session_gui *gui)
|
||||
if (sess)
|
||||
handle_multiline (sess, cmd, TRUE, FALSE);
|
||||
|
||||
free (cmd);
|
||||
g_free (cmd);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -609,14 +609,14 @@ mg_unpopulate (session *sess)
|
||||
gui = sess->gui;
|
||||
res = sess->res;
|
||||
|
||||
res->input_text = strdup (SPELL_ENTRY_GET_TEXT (gui->input_box));
|
||||
res->topic_text = strdup (gtk_entry_get_text (GTK_ENTRY (gui->topic_entry)));
|
||||
res->limit_text = strdup (gtk_entry_get_text (GTK_ENTRY (gui->limit_entry)));
|
||||
res->key_text = strdup (gtk_entry_get_text (GTK_ENTRY (gui->key_entry)));
|
||||
res->input_text = g_strdup (SPELL_ENTRY_GET_TEXT (gui->input_box));
|
||||
res->topic_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->topic_entry)));
|
||||
res->limit_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->limit_entry)));
|
||||
res->key_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->key_entry)));
|
||||
if (gui->laginfo)
|
||||
res->lag_text = strdup (gtk_label_get_text (GTK_LABEL (gui->laginfo)));
|
||||
res->lag_text = g_strdup (gtk_label_get_text (GTK_LABEL (gui->laginfo)));
|
||||
if (gui->throttleinfo)
|
||||
res->queue_text = strdup (gtk_label_get_text (GTK_LABEL (gui->throttleinfo)));
|
||||
res->queue_text = g_strdup (gtk_label_get_text (GTK_LABEL (gui->throttleinfo)));
|
||||
|
||||
for (i = 0; i < NUM_FLAG_WIDS - 1; i++)
|
||||
res->flag_wid_state[i] = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i]));
|
||||
@@ -645,7 +645,7 @@ mg_restore_label (GtkWidget *label, char **text)
|
||||
if (*text)
|
||||
{
|
||||
gtk_label_set_text (GTK_LABEL (label), *text);
|
||||
free (*text);
|
||||
g_free (*text);
|
||||
*text = NULL;
|
||||
} else
|
||||
{
|
||||
@@ -659,7 +659,7 @@ mg_restore_entry (GtkWidget *entry, char **text)
|
||||
if (*text)
|
||||
{
|
||||
gtk_entry_set_text (GTK_ENTRY (entry), *text);
|
||||
free (*text);
|
||||
g_free (*text);
|
||||
*text = NULL;
|
||||
} else
|
||||
{
|
||||
@@ -674,7 +674,7 @@ mg_restore_speller (GtkWidget *entry, char **text)
|
||||
if (*text)
|
||||
{
|
||||
SPELL_ENTRY_SET_TEXT (entry, *text);
|
||||
free (*text);
|
||||
g_free (*text);
|
||||
*text = NULL;
|
||||
} else
|
||||
{
|
||||
@@ -1331,8 +1331,7 @@ mg_close_gen (chan *ch, GtkWidget *box)
|
||||
{
|
||||
char *title = g_object_get_data (G_OBJECT (box), "title");
|
||||
|
||||
if (title)
|
||||
free (title);
|
||||
g_free (title);
|
||||
if (!ch)
|
||||
ch = g_object_get_data (G_OBJECT (box), "ch");
|
||||
if (ch)
|
||||
@@ -1640,7 +1639,7 @@ mg_dnd_drop_file (session *sess, char *target, char *uri)
|
||||
{
|
||||
char *p, *data, *next, *fname;
|
||||
|
||||
p = data = strdup (uri);
|
||||
p = data = g_strdup (uri);
|
||||
while (*p)
|
||||
{
|
||||
next = strchr (p, '\r');
|
||||
@@ -1667,7 +1666,7 @@ mg_dnd_drop_file (session *sess, char *target, char *uri)
|
||||
if (*p == '\n')
|
||||
p++;
|
||||
}
|
||||
free (data);
|
||||
g_free (data);
|
||||
|
||||
}
|
||||
|
||||
@@ -1837,7 +1836,7 @@ mg_changui_destroy (session *sess)
|
||||
/* it fixes: Gdk-CRITICAL **: gdk_colormap_get_screen: */
|
||||
/* assertion `GDK_IS_COLORMAP (cmap)' failed */
|
||||
ret = sess->gui->window;
|
||||
free (sess->gui);
|
||||
g_free (sess->gui);
|
||||
sess->gui = NULL;
|
||||
}
|
||||
return ret;
|
||||
@@ -3332,7 +3331,7 @@ mg_add_generic_tab (char *name, char *title, void *family, GtkWidget *box)
|
||||
ch = chanview_add (mg_gui->chanview, name, NULL, box, TRUE, TAG_UTIL, pix_tree_util);
|
||||
chan_set_color (ch, plain_list);
|
||||
/* FIXME: memory leak */
|
||||
g_object_set_data (G_OBJECT (box), "title", strdup (title));
|
||||
g_object_set_data (G_OBJECT (box), "title", g_strdup (title));
|
||||
g_object_set_data (G_OBJECT (box), "ch", ch);
|
||||
|
||||
if (prefs.hex_gui_tab_newtofront)
|
||||
@@ -3395,7 +3394,7 @@ fe_clear_channel (session *sess)
|
||||
{
|
||||
if (sess->res->topic_text)
|
||||
{
|
||||
free (sess->res->topic_text);
|
||||
g_free (sess->res->topic_text);
|
||||
sess->res->topic_text = NULL;
|
||||
}
|
||||
}
|
||||
@@ -3508,24 +3507,24 @@ mg_changui_new (session *sess, restore_gui *res, int tab, int focus)
|
||||
session_gui *gui;
|
||||
struct User *user = NULL;
|
||||
|
||||
if (!res)
|
||||
if (res == NULL)
|
||||
{
|
||||
res = malloc (sizeof (restore_gui));
|
||||
memset (res, 0, sizeof (restore_gui));
|
||||
res = g_new0 (restore_gui, 1);
|
||||
}
|
||||
|
||||
sess->res = res;
|
||||
|
||||
if (!sess->server->front_session)
|
||||
if (sess->server->front_session == NULL)
|
||||
{
|
||||
sess->server->front_session = sess;
|
||||
}
|
||||
|
||||
if (!is_channel (sess->server, sess->channel))
|
||||
user = userlist_find_global (sess->server, sess->channel);
|
||||
|
||||
if (!tab)
|
||||
{
|
||||
gui = malloc (sizeof (session_gui));
|
||||
memset (gui, 0, sizeof (session_gui));
|
||||
gui = g_new0 (session_gui, 1);
|
||||
gui->is_tab = FALSE;
|
||||
sess->gui = gui;
|
||||
mg_create_topwindow (sess);
|
||||
@@ -3631,8 +3630,8 @@ mg_set_title (GtkWidget *vbox, char *title) /* for non-irc tab/window only */
|
||||
old = g_object_get_data (G_OBJECT (vbox), "title");
|
||||
if (old)
|
||||
{
|
||||
g_object_set_data (G_OBJECT (vbox), "title", strdup (title));
|
||||
free (old);
|
||||
g_object_set_data (G_OBJECT (vbox), "title", g_strdup (title));
|
||||
g_free (old);
|
||||
} else
|
||||
{
|
||||
gtk_window_set_title (GTK_WINDOW (vbox), title);
|
||||
@@ -3650,7 +3649,7 @@ fe_server_callback (server *serv)
|
||||
if (serv->gui->rawlog_window)
|
||||
mg_close_gen (NULL, serv->gui->rawlog_window);
|
||||
|
||||
free (serv->gui);
|
||||
g_free (serv->gui);
|
||||
}
|
||||
|
||||
/* called when a session is being killed */
|
||||
@@ -3661,34 +3660,21 @@ fe_session_callback (session *sess)
|
||||
if (sess->res->banlist && sess->res->banlist->window)
|
||||
mg_close_gen (NULL, sess->res->banlist->window);
|
||||
|
||||
if (sess->res->input_text)
|
||||
free (sess->res->input_text);
|
||||
|
||||
if (sess->res->topic_text)
|
||||
free (sess->res->topic_text);
|
||||
|
||||
if (sess->res->limit_text)
|
||||
free (sess->res->limit_text);
|
||||
|
||||
if (sess->res->key_text)
|
||||
free (sess->res->key_text);
|
||||
|
||||
if (sess->res->queue_text)
|
||||
free (sess->res->queue_text);
|
||||
if (sess->res->queue_tip)
|
||||
free (sess->res->queue_tip);
|
||||
|
||||
if (sess->res->lag_text)
|
||||
free (sess->res->lag_text);
|
||||
if (sess->res->lag_tip)
|
||||
free (sess->res->lag_tip);
|
||||
g_free (sess->res->input_text);
|
||||
g_free (sess->res->topic_text);
|
||||
g_free (sess->res->limit_text);
|
||||
g_free (sess->res->key_text);
|
||||
g_free (sess->res->queue_text);
|
||||
g_free (sess->res->queue_tip);
|
||||
g_free (sess->res->lag_text);
|
||||
g_free (sess->res->lag_tip);
|
||||
|
||||
if (sess->gui->bartag)
|
||||
fe_timeout_remove (sess->gui->bartag);
|
||||
|
||||
if (sess->gui != &static_mg_gui)
|
||||
free (sess->gui);
|
||||
free (sess->res);
|
||||
g_free (sess->gui);
|
||||
g_free (sess->res);
|
||||
}
|
||||
|
||||
/* ===== DRAG AND DROP STUFF ===== */
|
||||
|
||||
@@ -137,7 +137,7 @@ nick_command_parse (session *sess, char *cmd, char *nick, char *allnick)
|
||||
|
||||
/* this can't overflow, since popup->cmd is only 256 */
|
||||
len = strlen (cmd) + strlen (nick) + strlen (allnick) + 512;
|
||||
buf = malloc (len);
|
||||
buf = g_malloc (len);
|
||||
|
||||
auto_insert (buf, len, cmd, 0, 0, allnick, sess->channel, "",
|
||||
server_get_network (sess->server, TRUE), host,
|
||||
@@ -145,7 +145,7 @@ nick_command_parse (session *sess, char *cmd, char *nick, char *allnick)
|
||||
|
||||
nick_command (sess, buf);
|
||||
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
}
|
||||
|
||||
/* userlist button has been clicked */
|
||||
@@ -166,11 +166,12 @@ userlist_button_cb (GtkWidget * button, char *cmd)
|
||||
if (sess->type == SESS_DIALOG)
|
||||
{
|
||||
/* fake a selection */
|
||||
nicks = malloc (sizeof (char *) * 2);
|
||||
nicks = g_new (char *, 2);
|
||||
nicks[0] = g_strdup (sess->channel);
|
||||
nicks[1] = NULL;
|
||||
num_sel = 1;
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
/* find number of selected rows */
|
||||
nicks = userlist_selection_list (sess->gui->user_tree, &num_sel);
|
||||
@@ -178,14 +179,13 @@ userlist_button_cb (GtkWidget * button, char *cmd)
|
||||
{
|
||||
nick_command_parse (sess, cmd, "", "");
|
||||
|
||||
if (nicks)
|
||||
free (nicks);
|
||||
g_free (nicks);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* create "allnicks" string */
|
||||
allnicks = malloc (((NICKLEN + 1) * num_sel) + 1);
|
||||
allnicks = g_malloc (((NICKLEN + 1) * num_sel) + 1);
|
||||
*allnicks = 0;
|
||||
|
||||
i = 0;
|
||||
@@ -218,8 +218,8 @@ userlist_button_cb (GtkWidget * button, char *cmd)
|
||||
g_free (nicks[num_sel]);
|
||||
}
|
||||
|
||||
free (nicks);
|
||||
free (allnicks);
|
||||
g_free (nicks);
|
||||
g_free (allnicks);
|
||||
}
|
||||
|
||||
/* a popup-menu-item has been selected */
|
||||
@@ -726,9 +726,8 @@ menu_nickmenu (session *sess, GdkEventButton *event, char *nick, int num_sel)
|
||||
struct User *user;
|
||||
GtkWidget *submenu, *menu = gtk_menu_new ();
|
||||
|
||||
if (str_copy)
|
||||
free (str_copy);
|
||||
str_copy = strdup (nick);
|
||||
g_free (str_copy);
|
||||
str_copy = g_strdup (nick);
|
||||
|
||||
submenu_list = 0; /* first time through, might not be 0 */
|
||||
|
||||
@@ -946,20 +945,19 @@ menu_urlmenu (GdkEventButton *event, char *url)
|
||||
GtkWidget *menu;
|
||||
char *tmp, *chop;
|
||||
|
||||
if (str_copy)
|
||||
free (str_copy);
|
||||
str_copy = strdup (url);
|
||||
g_free (str_copy);
|
||||
str_copy = g_strdup (url);
|
||||
|
||||
menu = gtk_menu_new ();
|
||||
/* more than 51 chars? Chop it */
|
||||
if (g_utf8_strlen (str_copy, -1) >= 52)
|
||||
{
|
||||
tmp = strdup (str_copy);
|
||||
tmp = g_strdup (str_copy);
|
||||
chop = g_utf8_offset_to_pointer (tmp, 48);
|
||||
chop[0] = chop[1] = chop[2] = '.';
|
||||
chop[3] = 0;
|
||||
menu_quick_item (0, tmp, menu, XCMENU_SHADED, 0, 0);
|
||||
free (tmp);
|
||||
g_free (tmp);
|
||||
} else
|
||||
{
|
||||
menu_quick_item (0, str_copy, menu, XCMENU_SHADED, 0, 0);
|
||||
@@ -1024,9 +1022,8 @@ menu_chanmenu (struct session *sess, GdkEventButton * event, char *chan)
|
||||
if (find_channel (sess->server, chan))
|
||||
is_joined = TRUE;
|
||||
|
||||
if (str_copy)
|
||||
free (str_copy);
|
||||
str_copy = strdup (chan);
|
||||
g_free (str_copy);
|
||||
str_copy = g_strdup (chan);
|
||||
|
||||
menu = gtk_menu_new ();
|
||||
|
||||
@@ -1072,9 +1069,8 @@ menu_addfavoritemenu (server *serv, GtkWidget *menu, char *channel, gboolean ist
|
||||
|
||||
if (channel != str_copy)
|
||||
{
|
||||
if (str_copy)
|
||||
free (str_copy);
|
||||
str_copy = strdup (channel);
|
||||
g_free (str_copy);
|
||||
str_copy = g_strdup (channel);
|
||||
}
|
||||
|
||||
if (istree)
|
||||
|
||||
@@ -106,7 +106,7 @@ palette_alloc (GtkWidget * widget)
|
||||
void
|
||||
palette_load (void)
|
||||
{
|
||||
int i, j, l, fh;
|
||||
int i, j, fh;
|
||||
char prefname[256];
|
||||
struct stat st;
|
||||
char *cfg;
|
||||
@@ -116,35 +116,29 @@ palette_load (void)
|
||||
if (fh != -1)
|
||||
{
|
||||
fstat (fh, &st);
|
||||
cfg = malloc (st.st_size + 1);
|
||||
if (cfg)
|
||||
cfg = g_malloc0 (st.st_size + 1);
|
||||
read (fh, cfg, st.st_size);
|
||||
|
||||
/* mIRC colors 0-31 are here */
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
cfg[0] = '\0';
|
||||
l = read (fh, cfg, st.st_size);
|
||||
if (l >= 0)
|
||||
cfg[l] = '\0';
|
||||
|
||||
/* mIRC colors 0-31 are here */
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
snprintf (prefname, sizeof prefname, "color_%d", i);
|
||||
cfg_get_color (cfg, prefname, &red, &green, &blue);
|
||||
colors[i].red = red;
|
||||
colors[i].green = green;
|
||||
colors[i].blue = blue;
|
||||
}
|
||||
|
||||
/* our special colors are mapped at 256+ */
|
||||
for (i = 256, j = 32; j < MAX_COL+1; i++, j++)
|
||||
{
|
||||
snprintf (prefname, sizeof prefname, "color_%d", i);
|
||||
cfg_get_color (cfg, prefname, &red, &green, &blue);
|
||||
colors[j].red = red;
|
||||
colors[j].green = green;
|
||||
colors[j].blue = blue;
|
||||
}
|
||||
free (cfg);
|
||||
snprintf (prefname, sizeof prefname, "color_%d", i);
|
||||
cfg_get_color (cfg, prefname, &red, &green, &blue);
|
||||
colors[i].red = red;
|
||||
colors[i].green = green;
|
||||
colors[i].blue = blue;
|
||||
}
|
||||
|
||||
/* our special colors are mapped at 256+ */
|
||||
for (i = 256, j = 32; j < MAX_COL+1; i++, j++)
|
||||
{
|
||||
snprintf (prefname, sizeof prefname, "color_%d", i);
|
||||
cfg_get_color (cfg, prefname, &red, &green, &blue);
|
||||
colors[j].red = red;
|
||||
colors[j].green = green;
|
||||
colors[j].blue = blue;
|
||||
}
|
||||
g_free (cfg);
|
||||
close (fh);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,14 +142,14 @@ plugingui_load_cb (session *sess, char *file)
|
||||
{
|
||||
if (file)
|
||||
{
|
||||
char *buf = malloc (strlen (file) + 9);
|
||||
char *buf;
|
||||
|
||||
if (strchr (file, ' '))
|
||||
sprintf (buf, "LOAD \"%s\"", file);
|
||||
buf = g_strdup_printf ("LOAD \"%s\"", file);
|
||||
else
|
||||
sprintf (buf, "LOAD %s", file);
|
||||
buf = g_strdup_printf ("LOAD %s", file);
|
||||
handle_command (sess, buf, FALSE);
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ plugingui_loadbutton_cb (GtkWidget * wid, gpointer unused)
|
||||
static void
|
||||
plugingui_unload (GtkWidget * wid, gpointer unused)
|
||||
{
|
||||
char *modname, *file, *buf;
|
||||
char *modname, *file;
|
||||
GtkTreeView *view;
|
||||
GtkTreeIter iter;
|
||||
|
||||
@@ -186,16 +186,17 @@ plugingui_unload (GtkWidget * wid, gpointer unused)
|
||||
{
|
||||
if (plugin_kill (modname, FALSE) == 2)
|
||||
fe_message (_("That plugin is refusing to unload.\n"), FE_MSG_ERROR);
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
char *buf;
|
||||
/* let python.so or perl.so handle it */
|
||||
buf = malloc (strlen (file) + 10);
|
||||
if (strchr (file, ' '))
|
||||
sprintf (buf, "UNLOAD \"%s\"", file);
|
||||
buf = g_strdup_printf ("UNLOAD \"%s\"", file);
|
||||
else
|
||||
sprintf (buf, "UNLOAD %s", file);
|
||||
buf = g_strdup_printf ("UNLOAD %s", file);
|
||||
handle_command (current_sess, buf, FALSE);
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
}
|
||||
|
||||
g_free (modname);
|
||||
@@ -209,14 +210,14 @@ plugingui_reloadbutton_cb (GtkWidget *wid, GtkTreeView *view)
|
||||
|
||||
if (file)
|
||||
{
|
||||
char *buf = malloc (strlen (file) + 9);
|
||||
char *buf;
|
||||
|
||||
if (strchr (file, ' '))
|
||||
sprintf (buf, "RELOAD \"%s\"", file);
|
||||
buf = g_strdup_printf ("RELOAD \"%s\"", file);
|
||||
else
|
||||
sprintf (buf, "RELOAD %s", file);
|
||||
buf = g_strdup_printf ("RELOAD %s", file);
|
||||
handle_command (current_sess, buf, FALSE);
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
g_free (file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -497,7 +497,7 @@ servlist_addnet_cb (GtkWidget *item, GtkTreeView *treeview)
|
||||
ircnet *net;
|
||||
|
||||
net = servlist_net_add (_("New Network"), "", TRUE);
|
||||
net->encoding = strdup (IRC_DEFAULT_CHARSET);
|
||||
net->encoding = g_strdup (IRC_DEFAULT_CHARSET);
|
||||
servlist_server_add (net, "newserver/6667");
|
||||
|
||||
store = (GtkListStore *)gtk_tree_view_get_model (treeview);
|
||||
@@ -668,13 +668,12 @@ servlist_favor (GtkWidget *button, gpointer none)
|
||||
static void
|
||||
servlist_update_from_entry (char **str, GtkWidget *entry)
|
||||
{
|
||||
if (*str)
|
||||
free (*str);
|
||||
g_free (*str);
|
||||
|
||||
if (gtk_entry_get_text (GTK_ENTRY (entry))[0] == 0)
|
||||
*str = NULL;
|
||||
else
|
||||
*str = strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
|
||||
*str = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1203,9 +1202,9 @@ servlist_celledit_cb (GtkCellRendererText *cell, gchar *arg1, gchar *arg2,
|
||||
}
|
||||
|
||||
netname = net->name;
|
||||
net->name = strdup (arg2);
|
||||
net->name = g_strdup (arg2);
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, net->name, -1);
|
||||
free (netname);
|
||||
g_free (netname);
|
||||
}
|
||||
|
||||
gtk_tree_path_free (path);
|
||||
@@ -1311,7 +1310,7 @@ servlist_sanitize_hostname (char *host)
|
||||
{
|
||||
char *ret, *c, *e;
|
||||
|
||||
ret = strdup (host);
|
||||
ret = g_strdup (host);
|
||||
|
||||
c = strchr (ret, ':');
|
||||
e = strrchr (ret, ':');
|
||||
@@ -1371,7 +1370,7 @@ servlist_editserver_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, g
|
||||
servname = serv->hostname;
|
||||
serv->hostname = servlist_sanitize_hostname (newval);
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, serv->hostname, -1);
|
||||
free (servname);
|
||||
g_free (servname);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1409,7 +1408,7 @@ servlist_editcommand_cb (GtkCellRendererText *cell, gchar *name, gchar *newval,
|
||||
cmd = entry->command;
|
||||
entry->command = servlist_sanitize_command (newval);
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, entry->command, -1);
|
||||
free (cmd);
|
||||
g_free (cmd);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1508,9 +1507,8 @@ servlist_combo_cb (GtkEntry *entry, gpointer userdata)
|
||||
if (!selected_net)
|
||||
return;
|
||||
|
||||
if (selected_net->encoding)
|
||||
free (selected_net->encoding);
|
||||
selected_net->encoding = strdup (gtk_entry_get_text (entry));
|
||||
g_free (selected_net->encoding);
|
||||
selected_net->encoding = g_strdup (gtk_entry_get_text (entry));
|
||||
}
|
||||
|
||||
/* Fills up the network's authentication type so that it's guaranteed to be either NULL or a valid value. */
|
||||
|
||||
@@ -1684,9 +1684,8 @@ setup_snd_changed_cb (GtkEntry *ent, GtkTreeView *tree)
|
||||
return;
|
||||
|
||||
/* get the new sound file */
|
||||
if (sound_files[n])
|
||||
free (sound_files[n]);
|
||||
sound_files[n] = strdup (gtk_entry_get_text (GTK_ENTRY (ent)));
|
||||
g_free (sound_files[n]);
|
||||
sound_files[n] = g_strdup (gtk_entry_get_text (GTK_ENTRY (ent)));
|
||||
|
||||
/* update the TreeView list */
|
||||
store = (GtkListStore *)gtk_tree_view_get_model (tree);
|
||||
|
||||
@@ -292,7 +292,7 @@ insert_hiddenchar (SexySpellEntry *entry, guint start, guint end)
|
||||
* is 'hidden' */
|
||||
#if 0
|
||||
PangoAttribute *hattr;
|
||||
PangoRectangle *rect = g_malloc (sizeof (PangoRectangle));
|
||||
PangoRectangle *rect = g_new (PangoRectangle, 1);
|
||||
|
||||
rect->x = 0;
|
||||
rect->y = 0;
|
||||
|
||||
@@ -81,12 +81,12 @@ PrintTextLine (xtext_buffer *xtbuf, unsigned char *text, int len, int indent, ti
|
||||
timet = time (0);
|
||||
|
||||
stamp_size = get_stamp_str (prefs.hex_stamp_text_format, timet, &stamp);
|
||||
new_text = malloc (len + stamp_size + 1);
|
||||
new_text = g_malloc (len + stamp_size + 1);
|
||||
memcpy (new_text, stamp, stamp_size);
|
||||
g_free (stamp);
|
||||
memcpy (new_text + stamp_size, text, len);
|
||||
gtk_xtext_append (xtbuf, new_text, len + stamp_size, timet);
|
||||
free (new_text);
|
||||
g_free (new_text);
|
||||
} else
|
||||
gtk_xtext_append (xtbuf, text, len, timet);
|
||||
return;
|
||||
@@ -173,13 +173,12 @@ pevent_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpo
|
||||
}
|
||||
if (m > (te[sig].num_args & 0x7f))
|
||||
{
|
||||
free (out);
|
||||
out = malloc (4096);
|
||||
snprintf (out, 4096,
|
||||
_("This signal is only passed %d args, $%d is invalid"),
|
||||
te[sig].num_args & 0x7f, m);
|
||||
g_free (out);
|
||||
out = g_strdup_printf (
|
||||
_("This signal is only passed %d args, $%d is invalid"),
|
||||
te[sig].num_args & 0x7f, m);
|
||||
fe_message (out, FE_MSG_WARN);
|
||||
free (out);
|
||||
g_free (out);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -188,23 +187,20 @@ pevent_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpo
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), &iter, TEXT_COLUMN, new_text, -1);
|
||||
gtk_tree_path_free (path);
|
||||
|
||||
if (pntevts_text[sig])
|
||||
free (pntevts_text[sig]);
|
||||
if (pntevts[sig])
|
||||
free (pntevts[sig]);
|
||||
g_free (pntevts_text[sig]);
|
||||
g_free (pntevts[sig]);
|
||||
|
||||
pntevts_text[sig] = malloc (len + 1);
|
||||
memcpy (pntevts_text[sig], text, len + 1);
|
||||
pntevts_text[sig] = g_strdup (text);
|
||||
pntevts[sig] = out;
|
||||
|
||||
out = malloc (len + 2);
|
||||
out = g_malloc (len + 2);
|
||||
memcpy (out, text, len + 1);
|
||||
out[len] = '\n';
|
||||
out[len + 1] = 0;
|
||||
check_special_chars (out, TRUE);
|
||||
|
||||
PrintTextRaw (xtext->buffer, out, 0, 0);
|
||||
free (out);
|
||||
g_free (out);
|
||||
|
||||
/* Scroll to bottom */
|
||||
gtk_adjustment_set_value (xtext->adj, gtk_adjustment_get_upper (xtext->adj));
|
||||
@@ -328,14 +324,14 @@ pevent_test_cb (GtkWidget * wid, GtkWidget * twid)
|
||||
text = _(pntevts_text[n]);
|
||||
len = strlen (text);
|
||||
|
||||
out = malloc (len + 2);
|
||||
out = g_malloc (len + 2);
|
||||
memcpy (out, text, len + 1);
|
||||
out[len] = '\n';
|
||||
out[len + 1] = 0;
|
||||
check_special_chars (out, TRUE);
|
||||
|
||||
PrintTextRaw (GTK_XTEXT (twid)->buffer, out, 0, 0);
|
||||
free (out);
|
||||
g_free (out);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ userlist_selection_list (GtkWidget *widget, int *num_ret)
|
||||
if (num_sel < 1)
|
||||
return NULL;
|
||||
|
||||
nicks = malloc (sizeof (char *) * (num_sel + 1));
|
||||
nicks = g_new (char *, num_sel + 1);
|
||||
|
||||
i = 0;
|
||||
gtk_tree_model_get_iter_first (model, &iter);
|
||||
@@ -348,9 +348,9 @@ fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
|
||||
nick = newuser->nick;
|
||||
if (!prefs.hex_gui_ulist_icons)
|
||||
{
|
||||
nick = malloc (strlen (newuser->nick) + 2);
|
||||
nick = g_malloc (strlen (newuser->nick) + 2);
|
||||
nick[0] = newuser->prefix[0];
|
||||
if (!nick[0] || nick[0] == ' ')
|
||||
if (nick[0] == '\0' || nick[0] == ' ')
|
||||
strcpy (nick, newuser->nick);
|
||||
else
|
||||
strcpy (nick + 1, newuser->nick);
|
||||
@@ -367,7 +367,7 @@ fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
|
||||
|
||||
if (!prefs.hex_gui_ulist_icons)
|
||||
{
|
||||
free (nick);
|
||||
g_free (nick);
|
||||
}
|
||||
|
||||
/* is it me? */
|
||||
@@ -525,7 +525,7 @@ userlist_click_cb (GtkWidget *widget, GdkEventButton *event, gpointer userdata)
|
||||
i--;
|
||||
g_free (nicks[i]);
|
||||
}
|
||||
free (nicks);
|
||||
g_free (nicks);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -542,13 +542,13 @@ userlist_click_cb (GtkWidget *widget, GdkEventButton *event, gpointer userdata)
|
||||
i--;
|
||||
g_free (nicks[i]);
|
||||
}
|
||||
free (nicks);
|
||||
g_free (nicks);
|
||||
return TRUE;
|
||||
}
|
||||
if (nicks)
|
||||
{
|
||||
g_free (nicks[0]);
|
||||
free (nicks);
|
||||
g_free (nicks);
|
||||
}
|
||||
|
||||
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
|
||||
@@ -567,7 +567,7 @@ userlist_click_cb (GtkWidget *widget, GdkEventButton *event, gpointer userdata)
|
||||
i--;
|
||||
g_free (nicks[i]);
|
||||
}
|
||||
free (nicks);
|
||||
g_free (nicks);
|
||||
}
|
||||
} else
|
||||
{
|
||||
|
||||
@@ -1711,7 +1711,7 @@ gtk_xtext_get_word_adjust (GtkXText *xtext, int x, int y, textentry **word_ent,
|
||||
}
|
||||
}
|
||||
}
|
||||
g_slist_free_full (slp, free);
|
||||
g_slist_free_full (slp, g_free);
|
||||
|
||||
return word_type;
|
||||
}
|
||||
@@ -1857,7 +1857,7 @@ gtk_xtext_set_clip_owner (GtkWidget * xtext, GdkEventButton * event)
|
||||
gtk_selection_owner_set (xtext, GDK_SELECTION_SECONDARY, event ? event->time : GDK_CURRENT_TIME);
|
||||
}
|
||||
|
||||
free (str);
|
||||
g_free (str);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2111,7 +2111,7 @@ gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret)
|
||||
return NULL;
|
||||
|
||||
/* now allocate mem and copy buffer */
|
||||
pos = txt = malloc (len);
|
||||
pos = txt = g_malloc (len);
|
||||
ent = buf->last_ent_start;
|
||||
while (ent)
|
||||
{
|
||||
@@ -2151,10 +2151,11 @@ gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret)
|
||||
/*stripped = gtk_xtext_conv_color (txt, strlen (txt), &len);*/
|
||||
stripped = txt;
|
||||
len = strlen (txt);
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
stripped = gtk_xtext_strip_color (txt, strlen (txt), NULL, &len, NULL, FALSE);
|
||||
free (txt);
|
||||
g_free (txt);
|
||||
}
|
||||
|
||||
*len_ret = len;
|
||||
@@ -2209,7 +2210,7 @@ gtk_xtext_selection_get (GtkWidget * widget,
|
||||
g_free (new_text);
|
||||
}
|
||||
|
||||
free (stripped);
|
||||
g_free (stripped);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -2364,7 +2365,7 @@ xtext_do_chunk(chunk_t *c)
|
||||
if (c->len1 == 0)
|
||||
return;
|
||||
|
||||
meta = malloc (sizeof *meta);
|
||||
meta = g_new (offlen_t, 1);
|
||||
meta->off = c->off1;
|
||||
meta->len = c->len1;
|
||||
meta->emph = c->emph;
|
||||
@@ -2387,7 +2388,7 @@ gtk_xtext_strip_color (unsigned char *text, int len, unsigned char *outbuf,
|
||||
int mbl; /* multi-byte length */
|
||||
|
||||
if (outbuf == NULL)
|
||||
new_str = malloc (len + 2);
|
||||
new_str = g_malloc (len + 2);
|
||||
else
|
||||
new_str = outbuf;
|
||||
|
||||
@@ -2463,7 +2464,7 @@ bad_utf8: /* Normal ending sequence, and give up if bad utf8 */
|
||||
if (slpp)
|
||||
*slpp = c.slp;
|
||||
else
|
||||
g_slist_free_full (c.slp, free);
|
||||
g_slist_free_full (c.slp, g_free);
|
||||
|
||||
return new_str;
|
||||
}
|
||||
@@ -2479,7 +2480,7 @@ gtk_xtext_text_width_ent (GtkXText *xtext, textentry *ent)
|
||||
|
||||
if (ent->slp)
|
||||
{
|
||||
g_slist_free_full (ent->slp, free);
|
||||
g_slist_free_full (ent->slp, g_free);
|
||||
ent->slp = NULL;
|
||||
}
|
||||
|
||||
@@ -2511,7 +2512,7 @@ gtk_xtext_text_width (GtkXText *xtext, unsigned char *text, int len)
|
||||
&new_len, &slp, !xtext->ignore_hidden);
|
||||
|
||||
width = backend_get_text_width_slp (xtext, new_buf, slp);
|
||||
g_slist_free_full (slp, free);
|
||||
g_slist_free_full (slp, g_free);
|
||||
|
||||
return width;
|
||||
}
|
||||
@@ -3534,7 +3535,7 @@ gtk_xtext_save (GtkXText * xtext, int fh)
|
||||
&newlen, NULL, FALSE);
|
||||
write (fh, buf, newlen);
|
||||
write (fh, "\n", 1);
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
ent = ent->next;
|
||||
}
|
||||
}
|
||||
@@ -3899,10 +3900,10 @@ gtk_xtext_kill_ent (xtext_buffer *buffer, textentry *ent)
|
||||
gtk_xtext_search_textentry_del (buffer, ent);
|
||||
}
|
||||
|
||||
g_slist_free_full (ent->slp, free);
|
||||
g_slist_free_full (ent->slp, g_free);
|
||||
g_slist_free (ent->sublines);
|
||||
|
||||
free (ent);
|
||||
g_free (ent);
|
||||
return visible;
|
||||
}
|
||||
|
||||
@@ -4037,7 +4038,7 @@ gtk_xtext_clear (xtext_buffer *buf, int lines)
|
||||
while (buf->text_first)
|
||||
{
|
||||
next = buf->text_first->next;
|
||||
free (buf->text_first);
|
||||
g_free (buf->text_first);
|
||||
buf->text_first = next;
|
||||
}
|
||||
buf->text_last = NULL;
|
||||
@@ -4214,7 +4215,7 @@ gtk_xtext_search_textentry (xtext_buffer *buf, textentry *ent)
|
||||
}
|
||||
|
||||
/* Common processing --- */
|
||||
g_slist_free_full (slp, free);
|
||||
g_slist_free_full (slp, g_free);
|
||||
return gl;
|
||||
}
|
||||
|
||||
@@ -4643,7 +4644,7 @@ gtk_xtext_append_indent (xtext_buffer *buf,
|
||||
if (right_text[right_len-1] == '\n')
|
||||
right_len--;
|
||||
|
||||
ent = malloc (left_len + right_len + 2 + sizeof (textentry));
|
||||
ent = g_malloc (left_len + right_len + 2 + sizeof (textentry));
|
||||
str = (unsigned char *) ent + sizeof (textentry);
|
||||
|
||||
memcpy (str, left_text, left_len);
|
||||
@@ -4698,7 +4699,7 @@ gtk_xtext_append (xtext_buffer *buf, unsigned char *text, int len, time_t stamp)
|
||||
if (len >= sizeof (buf->xtext->scratch_buffer))
|
||||
len = sizeof (buf->xtext->scratch_buffer) - 1;
|
||||
|
||||
ent = malloc (len + 1 + sizeof (textentry));
|
||||
ent = g_malloc (len + 1 + sizeof (textentry));
|
||||
ent->str = (unsigned char *) ent + sizeof (textentry);
|
||||
ent->str_len = len;
|
||||
if (len)
|
||||
@@ -4963,8 +4964,7 @@ gtk_xtext_buffer_new (GtkXText *xtext)
|
||||
{
|
||||
xtext_buffer *buf;
|
||||
|
||||
buf = malloc (sizeof (xtext_buffer));
|
||||
memset (buf, 0, sizeof (xtext_buffer));
|
||||
buf = g_new0 (xtext_buffer, 1);
|
||||
buf->old_value = -1;
|
||||
buf->xtext = xtext;
|
||||
buf->scrollbar_down = TRUE;
|
||||
@@ -4994,9 +4994,9 @@ gtk_xtext_buffer_free (xtext_buffer *buf)
|
||||
while (ent)
|
||||
{
|
||||
next = ent->next;
|
||||
free (ent);
|
||||
g_free (ent);
|
||||
ent = next;
|
||||
}
|
||||
|
||||
free (buf);
|
||||
g_free (buf);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user