"Glen Choo via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > +static inline void config_reader_push_source(struct config_source *top) > +{ > + if (cf_global) > + top->prev = cf_global; Don't we want to set prev unconditionally here (i.e. set it to NULL if cf_global was NULL)? > + cf_global = top; > +} > + > +static inline struct config_source *config_reader_pop_source() > +{ > + struct config_source *ret; > + if (!cf_global) > + BUG("tried to pop config source, but we weren't reading config"); > + ret = cf_global; > + cf_global = cf_global->prev; > + return ret; > +} ...since we use it unconditionally here. The rest looks good.