Commit a9fc14b0f515ec8d27ac7c854c2884b27ebd079e

Edward Thomson 2022-01-21T19:43:42

oid: avoid `tostr_s` in many places The `git_oid_tostr_s` helper is indeed helpful, unless you are using printf debugging (by inserting more `git_oid_tostr_s` calls) shortly after using it. Avoid it before invoking complex functions.

diff --git a/src/branch.c b/src/branch.c
index 03892a4..2e29af9 100644
--- a/src/branch.c
+++ b/src/branch.c
@@ -123,7 +123,10 @@ int git_branch_create(
 	const git_commit *commit,
 	int force)
 {
-	return create_branch(ref_out, repository, branch_name, commit, git_oid_tostr_s(git_commit_id(commit)), force);
+	char commit_id[GIT_OID_HEXSZ + 1];
+
+	git_oid_tostr(commit_id, GIT_OID_HEXSZ + 1, git_commit_id(commit));
+	return create_branch(ref_out, repository, branch_name, commit, commit_id, force);
 }
 
 int git_branch_create_from_annotated(
diff --git a/src/reset.c b/src/reset.c
index b8327fe..e0d942e 100644
--- a/src/reset.c
+++ b/src/reset.c
@@ -188,7 +188,10 @@ int git_reset(
 	git_reset_t reset_type,
 	const git_checkout_options *checkout_opts)
 {
-	return reset(repo, target, git_oid_tostr_s(git_object_id(target)), reset_type, checkout_opts);
+	char to[GIT_OID_HEXSZ + 1];
+
+	git_oid_tostr(to, GIT_OID_HEXSZ + 1, git_object_id(target));
+	return reset(repo, target, to, reset_type, checkout_opts);
 }
 
 int git_reset_from_annotated(