projects
/
platform
/
upstream
/
libsolv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 0.7.5
[platform/upstream/libsolv.git]
/
src
/
repo.c
diff --git
a/src/repo.c
b/src/repo.c
index
d163f13
..
da40219
100644
(file)
--- a/
src/repo.c
+++ b/
src/repo.c
@@
-391,7
+391,7
@@
repo_addid_dep_hash(Repo *repo, Offset olddeps, Id id, Id marker, int size)
if (repo->lastidhash_idarraysize != repo->idarraysize || (Hashval)size * 2 > repo->lastidhash_mask || repo->lastmarker != marker)
{
repo->lastmarkerpos = 0;
if (repo->lastidhash_idarraysize != repo->idarraysize || (Hashval)size * 2 > repo->lastidhash_mask || repo->lastmarker != marker)
{
repo->lastmarkerpos = 0;
- if (
size * 2 > (Hashval)
repo->lastidhash_mask)
+ if (
(Hashval)size * 2 >
repo->lastidhash_mask)
{
repo->lastidhash_mask = mkmask(size < REPO_ADDID_DEP_HASHMIN ? REPO_ADDID_DEP_HASHMIN : size);
repo->lastidhash = solv_realloc2(repo->lastidhash, repo->lastidhash_mask + 1, sizeof(Id));
{
repo->lastidhash_mask = mkmask(size < REPO_ADDID_DEP_HASHMIN ? REPO_ADDID_DEP_HASHMIN : size);
repo->lastidhash = solv_realloc2(repo->lastidhash, repo->lastidhash_mask + 1, sizeof(Id));
@@
-844,7
+844,7
@@
repo_search_md(Repo *repo, Id p, Id keyname, struct matchdata *md)
case RPM_RPMDBID:
if (repo->rpmdbid)
{
case RPM_RPMDBID:
if (repo->rpmdbid)
{
- kv.num = repo->rpmdbid[p - repo->start];
+ kv.num =
(unsigned int)
repo->rpmdbid[p - repo->start];
kv.num2 = 0;
repo_matchvalue(md, s, 0, repo_solvablekeys + (RPM_RPMDBID - SOLVABLE_NAME), &kv);
}
kv.num2 = 0;
repo_matchvalue(md, s, 0, repo_solvablekeys + (RPM_RPMDBID - SOLVABLE_NAME), &kv);
}
@@
-1097,7
+1097,7
@@
repo_lookup_num(Repo *repo, Id entry, Id keyname, unsigned long long notfound)
if (keyname == RPM_RPMDBID)
{
if (repo->rpmdbid && entry >= repo->start && entry < repo->end)
if (keyname == RPM_RPMDBID)
{
if (repo->rpmdbid && entry >= repo->start && entry < repo->end)
- return repo->rpmdbid[entry - repo->start];
+ return
(unsigned int)
repo->rpmdbid[entry - repo->start];
return notfound;
}
}
return notfound;
}
}
@@
-1250,7
+1250,10
@@
Id
repo_lookup_type(Repo *repo, Id entry, Id keyname)
{
Id type;
repo_lookup_type(Repo *repo, Id entry, Id keyname)
{
Id type;
- Repodata *data = repo_lookup_repodata_opt(repo, entry, keyname);
+ Repodata *data;
+ if (keyname >= SOLVABLE_NAME && keyname <= RPM_RPMDBID)
+ return repo_solvablekeys[keyname - SOLVABLE_NAME].type;
+ data = repo_lookup_repodata_opt(repo, entry, keyname);
if (data && (type = repodata_lookup_type(data, entry, keyname)) != 0 && type != REPOKEY_TYPE_DELETED)
return type;
return 0;
if (data && (type = repodata_lookup_type(data, entry, keyname)) != 0 && type != REPOKEY_TYPE_DELETED)
return type;
return 0;
@@
-1363,7
+1366,7
@@
repo_set_num(Repo *repo, Id p, Id keyname, unsigned long long num)
{
if (!repo->rpmdbid)
repo->rpmdbid = repo_sidedata_create(repo, sizeof(Id));
{
if (!repo->rpmdbid)
repo->rpmdbid = repo_sidedata_create(repo, sizeof(Id));
- repo->rpmdbid[p - repo->start] = num;
+ repo->rpmdbid[p - repo->start] =
(Id)
num;
return;
}
}
return;
}
}