static void midori_trash_add_item_no_save_cb (KatzeArray* trash, GObject* item) { if (katze_array_get_nth_item (trash, 10)) { KatzeItem* obsolete_item = katze_array_get_nth_item (trash, 0); katze_array_remove_item (trash, obsolete_item); } }
static void _katze_array_clear (KatzeArray* array) { GObject* item; while ((item = g_list_nth_data (array->items, 0))) katze_array_remove_item (array, item); g_list_free (array->items); array->items = NULL; }
static void midorator_entry_history_add(MidoratorEntry* e, const char *str) { if (!str) str = gtk_entry_get_text(GTK_ENTRY(e)); KatzeArray *c = e->command_history; if (!c) return; if (!katze_array_is_a(c, G_TYPE_STRING)) return; int i, l = katze_array_get_length(c); for (i = 0; i < l; i++) if (strcmp(katze_array_get_nth_item(c, i), str) == 0) { katze_array_move_item(c, katze_array_get_nth_item(c, i), l); return; } katze_array_add_item(c, g_strdup(str)); while (katze_array_get_length(c) > 256) { char *i = katze_array_get_nth_item(c, 0); g_free(i); katze_array_remove_item(c, i); } }