From: Christian Dywan Date: Sun, 11 Dec 2011 01:53:25 +0000 (+0100) Subject: Use GString to build text in copy tabs extension X-Git-Url: https://spindle.queued.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=622628b9c398c7a0771636fb65465d8ebdfc1a0e;p=midori Use GString to build text in copy tabs extension --- diff --git a/extensions/copy-tabs.c b/extensions/copy-tabs.c index 636c1197..8dc1e49e 100644 --- a/extensions/copy-tabs.c +++ b/extensions/copy-tabs.c @@ -15,19 +15,19 @@ static void copy_tabs_apply_cb (GtkWidget* menuitem, MidoriBrowser* browser) { - guint i = 0; - GtkWidget* view; - gchar* text = g_strdup (""); + GList* children; + GString* text = g_string_sized_new (256); GtkClipboard* clipboard = gtk_widget_get_clipboard (menuitem, GDK_SELECTION_CLIPBOARD); - while ((view = midori_browser_get_nth_tab (browser, i++))) + children = midori_browser_get_tabs (MIDORI_BROWSER (browser)); + for (; children; children = g_list_next (children)) { - gchar* new_text = g_strconcat (text, - midori_view_get_display_uri (MIDORI_VIEW (view)), "\n", NULL); - katze_assign (text, new_text); + g_string_append (text, midori_view_get_display_uri (children->data)); + g_string_append_c (text, '\n'); } - gtk_clipboard_set_text (clipboard, text, -1); + gtk_clipboard_set_text (clipboard, text->str, -1); + g_string_free (text, TRUE); } static void