Definitely should pass `git_diff_options` as pointer and fill it here.

````c
int rugged_parse_diff_options(git_diff_options *options, VALUE rb_options, VALUE rb_block);

...

void foo()
{
    git_diff_options opts;
    int error = rugged_parse_diff_options(&opts, rb_ops, rb_block);

}
`````