revwalk: remove one useless layer of functions We don't currently need to have anything that's different between `get_revision` and `get_one_revision` so let's just remove the inner function and make the code more straightforward.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
diff --git a/src/revwalk.c b/src/revwalk.c
index d913987..22b043b 100644
--- a/src/revwalk.c
+++ b/src/revwalk.c
@@ -453,43 +453,28 @@ static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list
return 0;
}
-static int get_one_revision(git_commit_list_node **out, git_revwalk *walk, git_commit_list **list)
-{
- int error;
- git_commit_list_node *commit;
-
- while(true) {
- commit = git_commit_list_pop(list);
- if (!commit) {
- giterr_clear();
- return GIT_ITEROVER;
- }
-
- /*
- * If we did not run limit_list and we must add parents to the
- * list ourselves.
- */
- if (!walk->limited) {
- if ((error = add_parents_to_list(walk, commit, list)) < 0)
- return error;
- }
-
- *out = commit;
- return 0;
- }
-}
-
static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commit_list **list)
{
int error;
git_commit_list_node *commit;
- if ((error = get_one_revision(&commit, walk, list)) < 0)
- return error;
-
- /* Here is where we would handle boundary commits if we implement that */
- *out = commit;
- return 0;
+ commit = git_commit_list_pop(list);
+ if (!commit) {
+ giterr_clear();
+ return GIT_ITEROVER;
+ }
+
+ /*
+ * If we did not run limit_list and we must add parents to the
+ * list ourselves.
+ */
+ if (!walk->limited) {
+ if ((error = add_parents_to_list(walk, commit, list)) < 0)
+ return error;
+ }
+
+ *out = commit;
+ return 0;
}
static int sort_in_topological_order(git_commit_list **out, git_revwalk *walk, git_commit_list *list)