From: Michael Schroeder Date: Mon, 22 Oct 2018 12:38:13 +0000 (+0200) Subject: Incompatible ABI change: change pool_calc_installsizechange and solvable_lookup_sizek... X-Git-Tag: 0.7.0~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c008a8a242c7697989127164c04dbc871eb28d8f;p=thirdparty%2Flibsolv.git Incompatible ABI change: change pool_calc_installsizechange and solvable_lookup_sizek from int to long long --- diff --git a/src/diskusage.c b/src/diskusage.c index 2b716fe4..63c43bf9 100644 --- a/src/diskusage.c +++ b/src/diskusage.c @@ -318,12 +318,12 @@ pool_calc_duchanges(Pool *pool, Map *installedmap, DUChanges *mps, int nmps) solv_free(mptree); } -int +long long pool_calc_installsizechange(Pool *pool, Map *installedmap) { Id sp; Solvable *s; - int change = 0; + long long change = 0; Repo *oldinstalled = pool->installed; for (sp = 1, s = pool->solvables + sp; sp < pool->nsolvables; sp++, s++) diff --git a/src/pool.h b/src/pool.h index 457d4155..744977a1 100644 --- a/src/pool.h +++ b/src/pool.h @@ -384,7 +384,7 @@ typedef struct _DUChanges { void pool_create_state_maps(Pool *pool, Queue *installed, Map *installedmap, Map *conflictsmap); void pool_calc_duchanges(Pool *pool, Map *installedmap, DUChanges *mps, int nmps); -int pool_calc_installsizechange(Pool *pool, Map *installedmap); +long long pool_calc_installsizechange(Pool *pool, Map *installedmap); void pool_add_fileconflicts_deps(Pool *pool, Queue *conflicts); diff --git a/src/solvable.c b/src/solvable.c index 8b2f079b..331f290f 100644 --- a/src/solvable.c +++ b/src/solvable.c @@ -257,14 +257,14 @@ solvable_lookup_num(Solvable *s, Id keyname, unsigned long long notfound) return repo_lookup_num(s->repo, s - s->repo->pool->solvables, keyname, notfound); } -unsigned int -solvable_lookup_sizek(Solvable *s, Id keyname, unsigned int notfound) +unsigned long long +solvable_lookup_sizek(Solvable *s, Id keyname, unsigned long long notfound) { unsigned long long size; if (!s->repo) return notfound; - size = solvable_lookup_num(s, keyname, (unsigned long long)notfound << 10); - return (unsigned int)((size + 1023) >> 10); + size = solvable_lookup_num(s, keyname, (unsigned long long)-1); + return size == (unsigned long long)-1 ? notfound : ((size + 1023) >> 10); } int diff --git a/src/solvable.h b/src/solvable.h index 7808e1ac..49f0a413 100644 --- a/src/solvable.h +++ b/src/solvable.h @@ -51,7 +51,7 @@ typedef struct _Solvable { Id solvable_lookup_type(Solvable *s, Id keyname); Id solvable_lookup_id(Solvable *s, Id keyname); unsigned long long solvable_lookup_num(Solvable *s, Id keyname, unsigned long long notfound); -unsigned int solvable_lookup_sizek(Solvable *s, Id keyname, unsigned int notfound); +unsigned long long solvable_lookup_sizek(Solvable *s, Id keyname, unsigned long long notfound); const char *solvable_lookup_str(Solvable *s, Id keyname); const char *solvable_lookup_str_poollang(Solvable *s, Id keyname); const char *solvable_lookup_str_lang(Solvable *s, Id keyname, const char *lang, int usebase);