mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-21 05:33:45 -04:00
misc: when free:ing tll lists, prefer tll_remove() over tll_free()
In many places we have the following pattern:
tll_foreach(list, it)
free(it->item.thing);
tll_free(list);
Since all tll functions are macros, and thus inlined, and since
tll_free in itself expands to a tll_foreach(), the above pattern
expands to more native code than necessary.
This is somewhat smaller:
tll_foreach(list, it) {
free(it->item.thing);
tll_remove(list, it);
}
This commit is contained in:
parent
63a50afc8e
commit
4bad85b593
4 changed files with 36 additions and 25 deletions
|
|
@ -540,15 +540,15 @@ urls_reset(struct terminal *term)
|
|||
wl_subsurface_destroy(it->item.sub_surf);
|
||||
if (it->item.surf != NULL)
|
||||
wl_surface_destroy(it->item.surf);
|
||||
tll_remove(term->window->urls, it);
|
||||
}
|
||||
tll_free(term->window->urls);
|
||||
}
|
||||
|
||||
tll_foreach(term->urls, it) {
|
||||
tag_cells_for_url(term, &it->item, false);
|
||||
url_destroy(&it->item);
|
||||
tll_remove(term->urls, it);
|
||||
}
|
||||
tll_free(term->urls);
|
||||
|
||||
memset(term->url_keys, 0, sizeof(term->url_keys));
|
||||
render_refresh(term);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue