diff options
author | Thierry Vignaud <thierry.vignaud@gmail.com> | 2014-08-27 16:15:29 +0200 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2014-09-12 23:11:56 +0200 |
commit | 47f12646b34ad10fca581e8946ade89f18765483 (patch) | |
tree | 3f526418bb2fe32524d6ca208d5f39e9f510a6b5 /xs1b.xs | |
parent | 3db43b0cf315a4c0c7b78787f637db04045f90ed (diff) | |
download | perl-URPM-47f12646b34ad10fca581e8946ade89f18765483.tar perl-URPM-47f12646b34ad10fca581e8946ade89f18765483.tar.gz perl-URPM-47f12646b34ad10fca581e8946ade89f18765483.tar.bz2 perl-URPM-47f12646b34ad10fca581e8946ade89f18765483.tar.xz perl-URPM-47f12646b34ad10fca581e8946ade89f18765483.zip |
rename "suggests" field to "recommends"
as this really what it is
Diffstat (limited to 'xs1b.xs')
-rw-r--r-- | xs1b.xs | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +static void +update_provides_files(const URPM__Package pkg, HV *provides) { + if (pkg->h) { + STRLEN len; + unsigned int i; + + struct rpmtd_s td_baseNames, td_dirIndexes, td_dirNames; + if (headerGet(pkg->h, RPMTAG_BASENAMES, &td_baseNames, HEADERGET_DEFAULT) && + headerGet(pkg->h, RPMTAG_DIRINDEXES, &td_dirIndexes, HEADERGET_DEFAULT) && + headerGet(pkg->h, RPMTAG_DIRNAMES, &td_dirNames, HEADERGET_DEFAULT)) { + + char **baseNames = td_baseNames.data; + char **dirNames = td_dirNames.data; + int32_t *dirIndexes = td_dirIndexes.data; + + char buff[4096]; + char *p; + + for(i = 0; i < rpmtdCount(&td_baseNames); i++) { + len = strlen(dirNames[dirIndexes[i]]); + if (len >= sizeof(buff)) continue; + memcpy(p = buff, dirNames[dirIndexes[i]], len + 1); p += len; + len = strlen(baseNames[i]); + if (p - buff + len >= sizeof(buff)) continue; + memcpy(p, baseNames[i], len + 1); p += len; + + update_hash_entry(provides, buff, p-buff, 0, 0, pkg); + } + + rpmtdFreeData(&td_baseNames); + rpmtdFreeData(&td_dirNames); + } else { + struct rpmtd_s td; + + if (headerGet(pkg->h, RPMTAG_OLDFILENAMES, &td, HEADERGET_DEFAULT)) { + for (i = 0; i < rpmtdCount(&td); i++) + update_hash_entry(provides, rpmtdNextString(&td), 0, 0, 0, pkg); + + rpmtdFreeData(&td); + } + } + } + |