Merge branch 'status-options'

This commit is contained in:
Carlos Martín Nieto 2015-09-18 10:49:14 +02:00
commit ebf7f15bf9
1 changed files with 13 additions and 23 deletions

View File

@ -126,11 +126,11 @@ type StatusOptions struct {
Pathspec []string Pathspec []string
} }
func (opts *StatusOptions) toC() *C.git_status_options { func (v *Repository) StatusList(opts *StatusOptions) (*StatusList, error) {
if opts == nil { var ptr *C.git_status_list
return nil var copts *C.git_status_options
}
if opts != nil {
cpathspec := C.git_strarray{} cpathspec := C.git_strarray{}
if opts.Pathspec != nil { if opts.Pathspec != nil {
cpathspec.count = C.size_t(len(opts.Pathspec)) cpathspec.count = C.size_t(len(opts.Pathspec))
@ -138,22 +138,12 @@ func (opts *StatusOptions) toC() *C.git_status_options {
defer freeStrarray(&cpathspec) defer freeStrarray(&cpathspec)
} }
copts := &C.git_status_options{ copts = &C.git_status_options{
version: C.GIT_STATUS_OPTIONS_VERSION, version: C.GIT_STATUS_OPTIONS_VERSION,
show: C.git_status_show_t(opts.Show), show: C.git_status_show_t(opts.Show),
flags: C.uint(opts.Flags), flags: C.uint(opts.Flags),
pathspec: cpathspec, pathspec: cpathspec,
} }
return copts
}
func (v *Repository) StatusList(opts *StatusOptions) (*StatusList, error) {
var ptr *C.git_status_list
var copts *C.git_status_options
if opts != nil {
copts = opts.toC()
} else { } else {
copts = &C.git_status_options{} copts = &C.git_status_options{}
ret := C.git_status_init_options(copts, C.GIT_STATUS_OPTIONS_VERSION) ret := C.git_status_init_options(copts, C.GIT_STATUS_OPTIONS_VERSION)