Skip to content

Commit 69e5151

Browse files
committed
Add dataiterator_final_{solvable,repo} functions
Those are needed by libzypp. They tell the dataiterator that it should stay in the solvable/repository.
1 parent a94c54f commit 69e5151

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

src/dataiterator.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,12 @@ void dataiterator_setpos(Dataiterator *di);
179179
void dataiterator_setpos_parent(Dataiterator *di);
180180
int dataiterator_match(Dataiterator *di, Datamatcher *ma);
181181
void dataiterator_skip_attribute(Dataiterator *di);
182-
void dataiterator_skip_solvable(Dataiterator *di);
183182
void dataiterator_skip_repo(Dataiterator *di);
184-
void dataiterator_jump_to_solvid(Dataiterator *di, Id solvid);
183+
void dataiterator_skip_solvable(Dataiterator *di);
184+
void dataiterator_final_repo(Dataiterator *di);
185+
void dataiterator_final_solvable(Dataiterator *di);
185186
void dataiterator_jump_to_repo(Dataiterator *di, Repo *repo);
187+
void dataiterator_jump_to_solvid(Dataiterator *di, Id solvid);
186188
void dataiterator_entersub(Dataiterator *di);
187189
void dataiterator_clonepos(Dataiterator *di, Dataiterator *from);
188190
void dataiterator_seek(Dataiterator *di, int whence);

src/libsolv.ver

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ SOLV_1.0 {
22
global:
33
dataiterator_clonepos;
44
dataiterator_entersub;
5+
dataiterator_final_repo;
6+
dataiterator_final_solvable;
57
dataiterator_free;
68
dataiterator_init;
79
dataiterator_init_clone;

src/repodata.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,6 +2143,19 @@ dataiterator_skip_repo(Dataiterator *di)
21432143
di->state = di_nextrepo;
21442144
}
21452145

2146+
void
2147+
dataiterator_final_solvable(Dataiterator *di)
2148+
{
2149+
di->flags |= SEARCH_THISSOLVID;
2150+
di->repoid = 0;
2151+
}
2152+
2153+
void
2154+
dataiterator_final_repo(Dataiterator *di)
2155+
{
2156+
di->repoid = 0;
2157+
}
2158+
21462159
void
21472160
dataiterator_jump_to_solvid(Dataiterator *di, Id solvid)
21482161
{

0 commit comments

Comments
 (0)