private static int Close(IntPtr subtransport) { SmartSubtransport t = GCHandle.FromIntPtr(Marshal.ReadIntPtr(subtransport, GitSmartSubtransport.GCHandleOffset)).Target as SmartSubtransport; if (t == null) { Proxy.git_error_set_str(GitErrorCategory.Net, "no subtransport provided"); return((int)GitErrorCode.Error); } try { t.Close(); return(0); } catch (Exception ex) { Proxy.git_error_set_str(GitErrorCategory.Net, ex); return((int)GitErrorCode.Error); } }