From 0a2e10328aedae4e989c61f46c29f1fd26ae92d6 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 17 Mar 2016 15:19:45 -0400 Subject: [PATCH] iterator: drop `advance_into_or_over` Now that iterators do not return `GIT_ENOTFOUND` when advancing into an empty directory, we do not need a special `advance_into_or_over` function. --- src/checkout.c | 2 +- src/iterator.h | 19 ------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/src/checkout.c b/src/checkout.c index 0fbb7fc16..fed1819aa 100644 --- a/src/checkout.c +++ b/src/checkout.c @@ -657,7 +657,7 @@ static int checkout_action( if (cmp == 0) { if (wd->mode == GIT_FILEMODE_TREE) { /* case 2 - entry prefixed by workdir tree */ - error = git_iterator_advance_into_or_over(wditem, workdir); + error = git_iterator_advance_into(wditem, workdir); if (error < 0 && error != GIT_ITEROVER) goto done; continue; diff --git a/src/iterator.h b/src/iterator.h index d64d63f8d..85444f11f 100644 --- a/src/iterator.h +++ b/src/iterator.h @@ -222,25 +222,6 @@ GIT_INLINE(int) git_iterator_advance_over( return git_iterator_advance(entry, iter); } -/** - * Advance into a tree or skip over it if it is empty. - * - * Because `git_iterator_advance_into` may return GIT_ENOTFOUND if the - * directory is empty (only with filesystem and working directory - * iterators) and a common response is to just call `git_iterator_advance` - * when that happens, this bundles the two into a single simple call. - */ -GIT_INLINE(int) git_iterator_advance_into_or_over( - const git_index_entry **entry, git_iterator *iter) -{ - int error = iter->cb->advance_into(entry, iter); - if (error == GIT_ENOTFOUND) { - giterr_clear(); - error = iter->cb->advance(entry, iter); - } - return error; -} - /** * Go back to the start of the iteration. */