> +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.