summaryrefslogtreecommitdiff
path: root/src/repodata.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2009-07-02 15:09:42 +0200
committerMichael Schroeder <mls@suse.de>2009-07-02 15:09:42 +0200
commita0842d2da68fe64f0a55babab033f3c9d65d619d (patch)
tree2e5c5b797ec80ae5d9978e6d5e3ed281bc5bbd19 /src/repodata.c
parent4d0e898c6859ac9b0b7313a297c887fb7aea5071 (diff)
downloadlibsolv-a0842d2da68fe64f0a55babab033f3c9d65d619d.tar.gz
libsolv-a0842d2da68fe64f0a55babab033f3c9d65d619d.tar.bz2
libsolv-a0842d2da68fe64f0a55babab033f3c9d65d619d.zip
- initialize flags, change stripkind code
Diffstat (limited to 'src/repodata.c')
-rw-r--r--src/repodata.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/repodata.c b/src/repodata.c
index 8672bba..89cd1c2 100644
--- a/src/repodata.c
+++ b/src/repodata.c
@@ -636,8 +636,10 @@ repodata_stringify(Pool *pool, Repodata *data, Repokey *key, KeyValue *kv, int f
kv->str = id2str(pool, kv->id);
if ((flags & SEARCH_SKIP_KIND) != 0 && key->storage == KEY_STORAGE_SOLVABLE)
{
- const char *s = strchr(kv->str, ':');
- if (s)
+ const char *s;
+ for (s = kv->str; *s >= 'a' && *s <= 'z'; s++)
+ ;
+ if (*s == ':' && s > kv->str)
kv->str = s + 1;
}
return 1;
@@ -968,6 +970,7 @@ dataiterator_init(Dataiterator *di, Pool *pool, Repo *repo, Id p, Id keyname, co
{
memset(di, 0, sizeof(*di));
di->pool = pool;
+ di->flags = flags & ~SEARCH_THISSOLVID;
if (!pool || (repo && repo->pool != pool))
{
di->state = di_bye;