Checkout Callbacks Payload Check in Callback Functions

Checking payloads in callback functions
This commit is contained in:
Mirko Nosenzo 2016-05-29 15:27:48 +02:00
parent db6f44c71c
commit 18802c24e3
1 changed files with 6 additions and 0 deletions

View File

@ -96,6 +96,9 @@ func (opts *CheckoutOpts) toC() *C.git_checkout_options {
//export checkoutNotifyCallback
func checkoutNotifyCallback(why C.git_checkout_notify_t, cpath *C.char, cbaseline, ctarget, cworkdir, data unsafe.Pointer) int {
if data == nil {
return 0
}
path := C.GoString(cpath)
var baseline, target, workdir DiffFile
if cbaseline != nil {
@ -116,6 +119,9 @@ func checkoutNotifyCallback(why C.git_checkout_notify_t, cpath *C.char, cbaselin
//export checkoutProgressCallback
func checkoutProgressCallback(path *C.char, completed_steps, total_steps C.size_t, data unsafe.Pointer) int {
if data == nil {
return 0
}
opts := pointerHandles.Get(data).(CheckoutOpts)
if opts.ProgressCallback == nil {
return 0