summaryrefslogtreecommitdiff
path: root/status.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2015-09-18 10:52:37 +0200
committerCarlos Martín Nieto <[email protected]>2015-09-18 10:52:37 +0200
commit0522886781055d59b780e00fddf3c8f7c9e118dc (patch)
tree797b7644292addcd518dbfea092aa9f3fd1e1e6c /status.go
parentb3e7705c48f038ef335204a2a9e1ee829784c30e (diff)
parentebf7f15bf9c585102b1c39f6bec5f61a37d18802 (diff)
Merge remote-tracking branch 'origin/master' into next
Diffstat (limited to 'status.go')
-rw-r--r--status.go36
1 files changed, 13 insertions, 23 deletions
diff --git a/status.go b/status.go
index 3f5a06d..068a474 100644
--- a/status.go
+++ b/status.go
@@ -126,34 +126,24 @@ type StatusOptions struct {
Pathspec []string
}
-func (opts *StatusOptions) toC() *C.git_status_options {
- if opts == nil {
- return nil
- }
-
- cpathspec := C.git_strarray{}
- if opts.Pathspec != nil {
- cpathspec.count = C.size_t(len(opts.Pathspec))
- cpathspec.strings = makeCStringsFromStrings(opts.Pathspec)
- defer freeStrarray(&cpathspec)
- }
-
- copts := &C.git_status_options{
- version: C.GIT_STATUS_OPTIONS_VERSION,
- show: C.git_status_show_t(opts.Show),
- flags: C.uint(opts.Flags),
- 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()
+ cpathspec := C.git_strarray{}
+ if opts.Pathspec != nil {
+ cpathspec.count = C.size_t(len(opts.Pathspec))
+ cpathspec.strings = makeCStringsFromStrings(opts.Pathspec)
+ defer freeStrarray(&cpathspec)
+ }
+
+ copts = &C.git_status_options{
+ version: C.GIT_STATUS_OPTIONS_VERSION,
+ show: C.git_status_show_t(opts.Show),
+ flags: C.uint(opts.Flags),
+ pathspec: cpathspec,
+ }
} else {
copts = &C.git_status_options{}
ret := C.git_status_init_options(copts, C.GIT_STATUS_OPTIONS_VERSION)