Perform fewer string allocations preparing shortcuts

This commit is contained in:
Christian Dywan 2011-05-06 01:55:39 +02:00
parent 023c64fa97
commit 9ff5114b76

View file

@ -3991,22 +3991,21 @@ prepare_speed_dial_html (MidoriView* view)
while (slot <= rows * cols) while (slot <= rows * cols)
{ {
gchar* position;
gchar* dial_entry = g_strdup_printf ("Dial %d", slot); gchar* dial_entry = g_strdup_printf ("Dial %d", slot);
gchar* uri = g_key_file_get_string (key_file, dial_entry, "uri", NULL);
const gchar* position;
if (slot < cols) if (slot < cols)
position = g_strdup (" top"); position = " top";
else if (slot == cols) else if (slot == cols)
position = g_strdup (" top right"); position = " top right";
else if (slot > cols && slot % cols == 0) else if (slot > cols && slot % cols == 0)
position = g_strdup (" right"); position = " right";
else else
position = g_strdup (""); position = "";
if (g_key_file_has_group (key_file, dial_entry) if (uri && *uri && *uri != '#')
&& g_strcmp0 (g_key_file_get_string (key_file, dial_entry, "uri", NULL), "#"))
{ {
gchar* slot_id = g_strdup_printf ("s%d", slot); gchar* slot_id = g_strdup_printf ("s%d", slot);
gchar* uri = g_key_file_get_string (key_file, dial_entry, "uri", NULL);
gchar* title = g_key_file_get_string (key_file, dial_entry, "title", NULL); gchar* title = g_key_file_get_string (key_file, dial_entry, "title", NULL);
gchar* thumb_file = sokoke_build_thumbnail_path (uri); gchar* thumb_file = sokoke_build_thumbnail_path (uri);
gchar* encoded; gchar* encoded;
@ -4035,7 +4034,6 @@ prepare_speed_dial_html (MidoriView* view)
"%s</p></div>\n", "%s</p></div>\n",
position, slot, slot, uri, encoded, slot, title); position, slot, slot, uri, encoded, slot, title);
g_free (uri);
g_free (title); g_free (title);
g_free (encoded); g_free (encoded);
} }
@ -4051,8 +4049,8 @@ prepare_speed_dial_html (MidoriView* view)
} }
slot++; slot++;
g_free (position);
g_free (dial_entry); g_free (dial_entry);
g_free (uri);
} }
g_string_append_printf (markup, g_string_append_printf (markup,
"</div>\n</div>\n</body>\n</html>\n"); "</div>\n</div>\n</body>\n</html>\n");