Commit 21b1e015a3584b8b5355ed3ed7d6e3c9dfdc1817

Carlos Martín Nieto 2015-12-08T21:11:58

Merge pull request #3539 from libgit2/typedef-submodule-cb Use a typedef for the submodule_foreach callback.

diff --git a/include/git2/submodule.h b/include/git2/submodule.h
index 689fe4b..bc94eac 100644
--- a/include/git2/submodule.h
+++ b/include/git2/submodule.h
@@ -108,6 +108,17 @@ typedef enum {
 	GIT_SUBMODULE_STATUS_WD_UNTRACKED)) != 0)
 
 /**
+ * Function pointer to receive each submodule
+ *
+ * @param sm git_submodule currently being visited
+ * @param name name of the submodule
+ * @param payload value you passed to the foreach function as payload
+ * @return 0 on success or error code
+ */
+typedef int (*git_submodule_cb)(
+	git_submodule *sm, const char *name, void *payload);
+
+/**
  * Submodule update options structure
  *
  * Use the GIT_SUBMODULE_UPDATE_OPTIONS_INIT to get the default settings,
@@ -239,7 +250,7 @@ GIT_EXTERN(void) git_submodule_free(git_submodule *submodule);
  */
 GIT_EXTERN(int) git_submodule_foreach(
 	git_repository *repo,
-	int (*callback)(git_submodule *sm, const char *name, void *payload),
+	git_submodule_cb callback,
 	void *payload);
 
 /**
diff --git a/src/submodule.c b/src/submodule.c
index 1148f87..6ec4c53 100644
--- a/src/submodule.c
+++ b/src/submodule.c
@@ -495,7 +495,7 @@ cleanup:
 
 int git_submodule_foreach(
 	git_repository *repo,
-	int (*callback)(git_submodule *sm, const char *name, void *payload),
+	git_submodule_cb callback,
 	void *payload)
 {
 	git_vector snapshot = GIT_VECTOR_INIT;