From db6f44c71ce60777f5ad6c839f626370abf58799 Mon Sep 17 00:00:00 2001 From: Mirko Nosenzo Date: Sun, 29 May 2016 15:14:16 +0200 Subject: [PATCH] Checkout Callbacks Payload Check Checking payloads before using them --- checkout.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/checkout.go b/checkout.go index 5a61b54..ba411ff 100644 --- a/checkout.go +++ b/checkout.go @@ -73,8 +73,12 @@ func checkoutOptionsFromC(c *C.git_checkout_options) CheckoutOpts { opts.FileMode = os.FileMode(c.file_mode) opts.FileOpenFlags = int(c.file_open_flags) opts.NotifyFlags = CheckoutNotifyType(c.notify_flags) - opts.NotifyCallback = pointerHandles.Get(c.notify_payload).(CheckoutOpts).NotifyCallback - opts.ProgressCallback = pointerHandles.Get(c.progress_payload).(CheckoutOpts).ProgressCallback + if c.notify_payload != nil { + opts.NotifyCallback = pointerHandles.Get(c.notify_payload).(CheckoutOpts).NotifyCallback + } + if c.progress_payload != nil { + opts.ProgressCallback = pointerHandles.Get(c.progress_payload).(CheckoutOpts).ProgressCallback + } if c.target_directory != nil { opts.TargetDirectory = C.GoString(c.target_directory) }