diff options
-rw-r--r-- | URPM.xs | 28 |
1 files changed, 11 insertions, 17 deletions
@@ -1973,9 +1973,19 @@ Pkg_obsoletes(pkg) void Pkg_obsoletes_nosense(pkg) URPM::Package pkg + ALIAS: + conflicts_nosense = 1 + provides_nosense = 2 PPCODE: PUTBACK; - return_list_str(pkg->obsoletes, pkg->h, RPMTAG_OBSOLETENAME, 0, 0, callback_list_str_xpush, NULL); + rpmTag tag; + char *s; + switch (ix) { + case 1: tag = RPMTAG_CONFLICTNAME; s = pkg->conflicts; break; + case 2: tag = RPMTAG_PROVIDENAME; s = pkg->provides; break; + default: tag = RPMTAG_OBSOLETENAME; s = pkg->obsoletes; break; + } + return_list_str(s, pkg->h, tag, 0, 0, callback_list_str_xpush, NULL); SPAGAIN; int @@ -2044,14 +2054,6 @@ Pkg_conflicts(pkg) SPAGAIN; void -Pkg_conflicts_nosense(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_str(pkg->conflicts, pkg->h, RPMTAG_CONFLICTNAME, 0, 0, callback_list_str_xpush, NULL); - SPAGAIN; - -void Pkg_provides(pkg) URPM::Package pkg PPCODE: @@ -2061,14 +2063,6 @@ Pkg_provides(pkg) SPAGAIN; void -Pkg_provides_nosense(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_str(pkg->provides, pkg->h, RPMTAG_PROVIDENAME, 0, 0, callback_list_str_xpush, NULL); - SPAGAIN; - -void Pkg_buildarchs(pkg) URPM::Package pkg ALIAS: |