@@ -1521,7 +1521,7 @@ static void filesystem_iterator_set_current(
15211521static 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(
15681568static 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(
16271627static 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
16651665int 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
17251725bool 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
17331737bool 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
18671871static 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
18751879static 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)
20832087static 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(
21562160static 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
22042208static 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
22122216static 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