On Wed, Jun 08 2022, Derrick Stolee via GitGitGadget wrote: > From: Derrick Stolee <derrickstolee@xxxxxxxxxx> > [...] > + path_in_set = strmap_get(¤t_checked_out_branches, refname); > + if (path_in_set && path) > + *path = xstrdup(path_in_set); Looking at the end state of this series there is nothing that passes a null "path" to this function, i.e. it's all &some_variable. So just dropping that && seems better from a code understanding & analysis perspective. More generally, can't we just expose an API that gives us the strmap itself, so that callers don't need to keep any special-behavior in mind? I.e. just "make me a strmap of checked out branches". Then you can just use strmap_get(), or xstrdup(strmap_get()), and if the pattern of "get me the item but duped" is found elsewhere maybe we should eventually have a strmap_get_dup() or whatever. I.e. just making it: xstrdup(strmap_get(checked_out_branches_strmap(), refname)).