/** * ggit_ref_delete_log: * @ref: a #GgitRef. * @error: a #GError for error reporting, or %NULL. * * Deletes the log for @ref, on error @error is set. */ void ggit_ref_delete_log (GgitRef *ref, GError **error) { git_reference *nref; gint ret; g_return_if_fail (GGIT_IS_REF (ref)); g_return_if_fail (error == NULL || *error == NULL); nref = _ggit_native_get (ref); ret = git_reflog_delete (git_reference_owner (nref), git_reference_name (nref)); if (ret != GIT_OK) { _ggit_error_set (error, ret); } }
ERL_NIF_TERM geef_reflog_delete(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) { geef_repository *repo; ErlNifBinary bin; int error; if (!enif_get_resource(env, argv[0], geef_repository_type, (void **) &repo)) return enif_make_badarg(env); if (!enif_inspect_iolist_as_binary(env, argv[1], &bin)) return enif_make_badarg(env); if (!geef_terminate_binary(&bin)) return geef_oom(env); error = git_reflog_delete(repo->repo, (char *) bin.data); enif_release_binary(&bin); return error ? geef_error(env) : atoms.ok; }