private static unsafe string GetNativeErrorMessage() { git_error *error = libgit2.git_error_last(); if (error == null || error->message == null) { return("Unknown error in libgit2"); } else { return(Utf8Converter.FromNative(error->message)); } }
public static void ThrowIfError(int result, string functionName = null) { if (result != 0) { unsafe { string mainMessage = functionName is null ? $"libgit2 '{functionName}' returned non-zero value" : "libgit2 returned non-zero value"; git_error *error = git_error_last(); if (error != null && error->message != null) { string errorMessage = U8StringConverter.ToManaged(error->message); throw new InteropException(mainMessage, result, new Exception(errorMessage)); } throw new InteropException(mainMessage, result); } } }