valid = oobs_list_get_iter_first (list, &iter); while (valid) { share = oobs_list_get (list, &iter); printf("- %s\n", oobs_share_smb_get_name(share)); if(strcmp(oobs_share_smb_get_name(share), "homes") == 0) { printf("REMOVING %s\n", oobs_share_smb_get_name(share)); oobs_list_remove (list, &iter); } g_object_unref (share); valid = oobs_list_iter_next (list, &iter); } valid = oobs_list_get_iter_first (list, &iter); while (valid) { share = oobs_list_get (list, &iter); printf("- %s\n", oobs_share_smb_get_name(share)); g_object_unref (share); valid = oobs_list_iter_next (list, &iter); }