diff --git a/include/git2/refs.h b/include/git2/refs.h index 4e5a691e6..c92646115 100644 --- a/include/git2/refs.h +++ b/include/git2/refs.h @@ -288,6 +288,8 @@ GIT_EXTERN(int) git_reference_packall(git_repository *repo); */ GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo, unsigned int list_flags); +typedef int (*git_reference_foreach_cb)(const char *refname, void *payload); + /** * Perform a callback on each reference in the repository. * @@ -308,7 +310,11 @@ GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo, un * @param payload Additional data to pass to the callback * @return 0 on success, GIT_EUSER on non-zero callback, or error code */ -GIT_EXTERN(int) git_reference_foreach(git_repository *repo, unsigned int list_flags, int (*callback)(const char *, void *), void *payload); +GIT_EXTERN(int) git_reference_foreach( + git_repository *repo, + unsigned int list_flags, + git_reference_foreach_cb callback, + void *payload); /** * Check if a reference has been loaded from a packfile. diff --git a/src/refs.c b/src/refs.c index 1aaf4f60f..1882093cf 100644 --- a/src/refs.c +++ b/src/refs.c @@ -1478,7 +1478,7 @@ int git_reference_packall(git_repository *repo) int git_reference_foreach( git_repository *repo, unsigned int list_flags, - int (*callback)(const char *, void *), + git_reference_foreach_cb callback, void *payload) { int result;