Derrick Stolee <derrickstolee@xxxxxxxxxx> writes: > while (worktrees[i]) { > + char *old; > struct wt_status_state state = { 0 }; > struct worktree *wt = worktrees[i++]; > > if (wt->is_bare) > continue; > > - if (wt->head_ref) > - strmap_put(¤t_checked_out_branches, > - wt->head_ref, > - xstrdup(wt->path)); > + if (wt->head_ref) { > + old = strmap_put(¤t_checked_out_branches, > + wt->head_ref, > + xstrdup(wt->path)); > + free(old); > + } While it is equivalent to free(strmap_put(¤t_checked_out_branches, wt->head_ref, xstrdup(wt->path))); writing the "put the new one" and "discard the old one (if exists)" as separate steps like the above does make it easier to follow, at least to me. Thanks. Will queue.