Commit eecc80502975df5ef3aa9027d1b8b929cd6181bd

Russell Belfer 2012-11-20T14:03:05

Update callback fn ptr for git_reference_foreach As part of API review, use a typedef for the callback fn ptr.

diff --git a/include/git2/refs.h b/include/git2/refs.h
index 4e5a691..c926461 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 1aaf4f6..1882093 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;