diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-06-15 17:37:58 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-06-15 17:37:58 +0000 |
commit | 1948ee3ee00b9a7343a04f06a352029b387844ca (patch) | |
tree | 6385046433465f15434abd249b5f3c44d5b675cd | |
parent | 96cf1fb40cb7233a176e1dfd512ed41f2da5437f (diff) | |
download | perl-URPM-1948ee3ee00b9a7343a04f06a352029b387844ca.tar perl-URPM-1948ee3ee00b9a7343a04f06a352029b387844ca.tar.gz perl-URPM-1948ee3ee00b9a7343a04f06a352029b387844ca.tar.bz2 perl-URPM-1948ee3ee00b9a7343a04f06a352029b387844ca.tar.xz perl-URPM-1948ee3ee00b9a7343a04f06a352029b387844ca.zip |
(return_list_tag,update_obsoletes,update_provides) use proper accessors
-rw-r--r-- | URPM.xs | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -587,10 +587,9 @@ return_list_tag(const URPM__Package pkg, rpmTag tag_name) { if (pkg->h != NULL) { struct rpmtd_s td; if (headerGet(pkg->h, tag_name, &td, HEADERGET_DEFAULT)) { - void *list = td.data; int32_t count = rpmtdCount(&td); if (tag_name == RPMTAG_ARCH) - mXPUSHs(newSVpv(headerIsEntry(pkg->h, RPMTAG_SOURCERPM) ? (char *) list : "src", 0)); + mXPUSHs(newSVpv(headerIsEntry(pkg->h, RPMTAG_SOURCERPM) ? rpmtdGetString(&td) : "src", 0)); else switch (rpmtdType(&td)) { case RPM_NULL_TYPE: @@ -915,10 +914,10 @@ update_provides(const URPM__Package pkg, HV *provides) { /* examine requires for files which need to be marked in provides */ if (headerGet(pkg->h, RPMTAG_REQUIRENAME, &td, HEADERGET_DEFAULT)) { - char **list = td.data; for (i = 0; i < rpmtdCount(&td); ++i) { - len = strlen(list[i]); - if (list[i][0] == '/') (void)hv_fetch(provides, list[i], len, 1); + const char *s = rpmtdNextString(&td); + len = strlen(s); + if (s[0] == '/') (void)hv_fetch(provides, s, len, 1); } } @@ -974,10 +973,9 @@ update_obsoletes(const URPM__Package pkg, HV *obsoletes) { /* update all provides */ if (headerGet(pkg->h, RPMTAG_OBSOLETENAME, &td, HEADERGET_DEFAULT)) { - char **list = td.data; unsigned int i; for (i = 0; i < rpmtdCount(&td); ++i) - update_hash_entry(obsoletes, list[i], 0, 1, 0, pkg); + update_hash_entry(obsoletes, rpmtdNextString(&td), 0, 1, 0, pkg); } } else { char *ps, *s; |