Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 431601f

Browse files
tiennoupks-t
authored andcommitted
iterator: make use the GIT_CONTAINER_OF macro
1 parent b51789a commit 431601f

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/iterator.c

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1521,7 +1521,7 @@ static void filesystem_iterator_set_current(
15211521
static int filesystem_iterator_current(
15221522
const git_index_entry **out, git_iterator *i)
15231523
{
1524-
filesystem_iterator *iter = (filesystem_iterator *)i;
1524+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
15251525

15261526
if (!iterator__has_been_accessed(i))
15271527
return iter->base.cb->advance(out, i);
@@ -1568,7 +1568,7 @@ static int filesystem_iterator_is_dir(
15681568
static int filesystem_iterator_advance(
15691569
const git_index_entry **out, git_iterator *i)
15701570
{
1571-
filesystem_iterator *iter = (filesystem_iterator *)i;
1571+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
15721572
bool is_dir;
15731573
int error = 0;
15741574

@@ -1627,7 +1627,7 @@ static int filesystem_iterator_advance(
16271627
static int filesystem_iterator_advance_into(
16281628
const git_index_entry **out, git_iterator *i)
16291629
{
1630-
filesystem_iterator *iter = (filesystem_iterator *)i;
1630+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
16311631
filesystem_iterator_frame *frame;
16321632
filesystem_iterator_entry *prev_entry;
16331633
int error;
@@ -1664,7 +1664,7 @@ static int filesystem_iterator_advance_into(
16641664

16651665
int git_iterator_current_workdir_path(git_buf **out, git_iterator *i)
16661666
{
1667-
filesystem_iterator *iter = (filesystem_iterator *)i;
1667+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
16681668
const git_index_entry *entry;
16691669

16701670
if (i->type != GIT_ITERATOR_TYPE_FS &&
@@ -1724,15 +1724,19 @@ GIT_INLINE(bool) filesystem_iterator_current_is_ignored(
17241724

17251725
bool git_iterator_current_is_ignored(git_iterator *i)
17261726
{
1727+
filesystem_iterator *iter = NULL;
1728+
17271729
if (i->type != GIT_ITERATOR_TYPE_WORKDIR)
17281730
return false;
17291731

1730-
return filesystem_iterator_current_is_ignored((filesystem_iterator *)i);
1732+
iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
1733+
1734+
return filesystem_iterator_current_is_ignored(iter);
17311735
}
17321736

17331737
bool git_iterator_current_tree_is_ignored(git_iterator *i)
17341738
{
1735-
filesystem_iterator *iter = (filesystem_iterator *)i;
1739+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
17361740
filesystem_iterator_frame *frame;
17371741

17381742
if (i->type != GIT_ITERATOR_TYPE_WORKDIR)
@@ -1747,7 +1751,7 @@ static int filesystem_iterator_advance_over(
17471751
git_iterator_status_t *status,
17481752
git_iterator *i)
17491753
{
1750-
filesystem_iterator *iter = (filesystem_iterator *)i;
1754+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
17511755
filesystem_iterator_frame *current_frame;
17521756
filesystem_iterator_entry *current_entry;
17531757
const git_index_entry *entry = NULL;
@@ -1866,15 +1870,15 @@ static int filesystem_iterator_init(filesystem_iterator *iter)
18661870

18671871
static int filesystem_iterator_reset(git_iterator *i)
18681872
{
1869-
filesystem_iterator *iter = (filesystem_iterator *)i;
1873+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
18701874

18711875
filesystem_iterator_clear(iter);
18721876
return filesystem_iterator_init(iter);
18731877
}
18741878

18751879
static void filesystem_iterator_free(git_iterator *i)
18761880
{
1877-
filesystem_iterator *iter = (filesystem_iterator *)i;
1881+
filesystem_iterator *iter = GIT_CONTAINER_OF(i, filesystem_iterator, base);
18781882
git__free(iter->root);
18791883
git_buf_dispose(&iter->current_path);
18801884
git_tree_free(iter->tree);
@@ -2083,7 +2087,7 @@ static int index_iterator_skip_pseudotree(index_iterator *iter)
20832087
static int index_iterator_advance(
20842088
const git_index_entry **out, git_iterator *i)
20852089
{
2086-
index_iterator *iter = (index_iterator *)i;
2090+
index_iterator *iter = GIT_CONTAINER_OF(i, index_iterator, base);
20872091
const git_index_entry *entry = NULL;
20882092
bool is_submodule;
20892093
int error = 0;
@@ -2156,7 +2160,7 @@ static int index_iterator_advance(
21562160
static int index_iterator_advance_into(
21572161
const git_index_entry **out, git_iterator *i)
21582162
{
2159-
index_iterator *iter = (index_iterator *)i;
2163+
index_iterator *iter = GIT_CONTAINER_OF(i, index_iterator, base);
21602164

21612165
if (! S_ISDIR(iter->tree_entry.mode)) {
21622166
if (out)
@@ -2174,7 +2178,7 @@ static int index_iterator_advance_over(
21742178
git_iterator_status_t *status,
21752179
git_iterator *i)
21762180
{
2177-
index_iterator *iter = (index_iterator *)i;
2181+
index_iterator *iter = GIT_CONTAINER_OF(i, index_iterator, base);
21782182
const git_index_entry *entry;
21792183
int error;
21802184

@@ -2203,15 +2207,15 @@ static int index_iterator_init(index_iterator *iter)
22032207

22042208
static int index_iterator_reset(git_iterator *i)
22052209
{
2206-
index_iterator *iter = (index_iterator *)i;
2210+
index_iterator *iter = GIT_CONTAINER_OF(i, index_iterator, base);
22072211

22082212
index_iterator_clear(iter);
22092213
return index_iterator_init(iter);
22102214
}
22112215

22122216
static void index_iterator_free(git_iterator *i)
22132217
{
2214-
index_iterator *iter = (index_iterator *)i;
2218+
index_iterator *iter = GIT_CONTAINER_OF(i, index_iterator, base);
22152219

22162220
git_index_snapshot_release(&iter->entries, iter->base.index);
22172221
git_buf_dispose(&iter->tree_buf);

0 commit comments

Comments
 (0)