summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-06-06 16:48:04 -0400
committerEdward Thomson <ethomson@edwardthomson.com>2019-06-14 09:57:01 +0100
commitc0dd7122da182517e77d1dde6f737dc9d0d0f28a (patch)
tree1ff8ea964e9a399c765d63eb4951418a789727e8
parent0b5ba0d744e69da5dc8c08d167c83dd87ed83af2 (diff)
downloadlibgit2-ethomson/opts_init.tar.gz
apply: add an options struct initializerethomson/opts_init
-rw-r--r--include/git2/apply.h4
-rw-r--r--src/apply.c7
-rw-r--r--tests/core/structinit.c5
3 files changed, 15 insertions, 1 deletions
diff --git a/include/git2/apply.h b/include/git2/apply.h
index 91f93d75d..384e11718 100644
--- a/include/git2/apply.h
+++ b/include/git2/apply.h
@@ -57,7 +57,7 @@ typedef int GIT_CALLBACK(git_apply_hunk_cb)(
* Apply options structure
*
* Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can
- * use `git_apply_init_options`.
+ * use `git_apply_options_init`.
*
* @see git_apply_to_tree, git_apply
*/
@@ -72,6 +72,8 @@ typedef struct {
#define GIT_APPLY_OPTIONS_VERSION 1
#define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION}
+GIT_EXTERN(int) git_apply_options_init(git_apply_options *opts, unsigned int version);
+
/**
* Apply a `git_diff` to a `git_tree`, and return the resulting image
* as an index.
diff --git a/src/apply.c b/src/apply.c
index 156221f17..fdafa662e 100644
--- a/src/apply.c
+++ b/src/apply.c
@@ -745,6 +745,13 @@ done:
return error;
}
+int git_apply_options_init(git_apply_options *opts, unsigned int version)
+{
+ GIT_INIT_STRUCTURE_FROM_TEMPLATE(
+ opts, version, git_apply_options, GIT_APPLY_OPTIONS_INIT);
+ return 0;
+}
+
/*
* Handle the three application options ("locations"):
*
diff --git a/tests/core/structinit.c b/tests/core/structinit.c
index 82286a210..f9da8237c 100644
--- a/tests/core/structinit.c
+++ b/tests/core/structinit.c
@@ -72,6 +72,11 @@ void test_core_structinit__compare(void)
clar__skip();
#endif
+ /* apply */
+ CHECK_MACRO_FUNC_INIT_EQUAL( \
+ git_apply_options, GIT_APPLY_OPTIONS_VERSION, \
+ GIT_APPLY_OPTIONS_INIT, git_apply_options_init);
+
/* blame */
CHECK_MACRO_FUNC_INIT_EQUAL( \
git_blame_options, GIT_BLAME_OPTIONS_VERSION, \