> +inline static int static inline int
> +file_matches (Dwarf_Files * files, size_t idx, Gratuitous space after * there. > + const char *lastfile, size_t match_file_len, > + const char *match_file, bool *lastfile_matches) When what should be a local function has several parameters like this to replace what should be the closed-over variables, I think it's clearer to put all those parameters first, before the real parameters to the function.