diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-06-08 18:50:18 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-06-08 18:50:18 +0000 |
commit | 95d94d2ccd8443efd904586580e553750bf60c9d (patch) | |
tree | cf7f9c0d10e6052fe74a69207e3423c1fdb739c5 | |
parent | ff4b4beae9339b8b77299793e8f70d3bc2e6d56a (diff) | |
download | perl-URPM-95d94d2ccd8443efd904586580e553750bf60c9d.tar perl-URPM-95d94d2ccd8443efd904586580e553750bf60c9d.tar.gz perl-URPM-95d94d2ccd8443efd904586580e553750bf60c9d.tar.bz2 perl-URPM-95d94d2ccd8443efd904586580e553750bf60c9d.tar.xz perl-URPM-95d94d2ccd8443efd904586580e553750bf60c9d.zip |
alias many simple accessors in order to save code space (10% saved)
-rw-r--r-- | URPM.xs | 351 |
1 files changed, 113 insertions, 238 deletions
@@ -1485,94 +1485,62 @@ Pkg_summary(pkg) void Pkg_description(pkg) URPM::Package pkg + ALIAS: + sourcerpm = 1 + packager = 2 + buildhost = 3 + url = 4 + license = 5 + distribution = 6 + vendor = 7 + os = 8 + payload_format = 9 + disttag = 10 PPCODE: if (pkg->h) - mXPUSHs(newSVpv_utf8(get_name(pkg->h, RPMTAG_DESCRIPTION), 0)); - -void -Pkg_sourcerpm(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_SOURCERPM), 0)); - -void -Pkg_packager(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv_utf8(get_name(pkg->h, RPMTAG_PACKAGER), 0)); - -void -Pkg_buildhost(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_BUILDHOST), 0)); + switch (ix) { + case 0: + mXPUSHs(newSVpv_utf8(get_name(pkg->h, RPMTAG_DESCRIPTION), 0)); break; + case 1: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_SOURCERPM), 0)); break; + case 2: + mXPUSHs(newSVpv_utf8(get_name(pkg->h, RPMTAG_PACKAGER), 0)); break; + case 3: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_BUILDHOST), 0)); break; + case 4: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_URL), 0)); break; + case 5: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_LICENSE), 0)); break; + case 6: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_DISTRIBUTION), 0)); break; + case 7: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_VENDOR), 0)); break; + case 8: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_OS), 0)); break; + case 9: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_PAYLOADFORMAT), 0)); break; + case 10: + mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_DISTTAG), 0)); break; + } int Pkg_buildtime(pkg) URPM::Package pkg + ALIAS: + installtid = 1 CODE: - if (pkg->h) - RETVAL = get_int(pkg->h, RPMTAG_BUILDTIME); - else - RETVAL = 0; - OUTPUT: - RETVAL - -int -Pkg_installtid(pkg) - URPM::Package pkg - CODE: - if (pkg->h) - RETVAL = get_int(pkg->h, RPMTAG_INSTALLTID); - else + if (pkg->h) { + switch (ix) { + case 0: + RETVAL = get_int(pkg->h, RPMTAG_BUILDTIME); break; + case 1: + RETVAL = get_int(pkg->h, RPMTAG_INSTALLTID); break; + } + } else RETVAL = 0; OUTPUT: RETVAL -void -Pkg_url(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_URL), 0)); - -void -Pkg_license(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_LICENSE), 0)); - -void -Pkg_distribution(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_DISTRIBUTION), 0)); - -void -Pkg_vendor(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_VENDOR), 0)); - -void -Pkg_os(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_OS), 0)); - -void -Pkg_payload_format(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_PAYLOADFORMAT), 0)); void Pkg_fullname(pkg) @@ -2095,35 +2063,70 @@ Pkg_provides_overlap(pkg, s, b_nopromote=1, direction=1) void Pkg_buildarchs(pkg) URPM::Package pkg + ALIAS: + excludearchs = 1 + exclusivearchs = 2 + dirnames = 3 + filelinktos = 4 + files = 5 + files_md5sum = 6 + files_owner = 7 + files_group = 8 + files_mtime = 9 + files_size = 10 + files_uid = 11 + files_gid = 12 + files_mode = 13 + files_flags = 14 + conf_files = 15 + changelog_time = 16 + changelog_name = 17 + changelog_text = 18 PPCODE: PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_BUILDARCHS); - SPAGAIN; - -void -Pkg_excludearchs(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_EXCLUDEARCH); - SPAGAIN; - -void -Pkg_exclusivearchs(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_EXCLUSIVEARCH); - SPAGAIN; - -void -Pkg_dirnames(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_DIRNAMES); + switch (ix) { + case 0: + xpush_simple_list_str(pkg->h, RPMTAG_BUILDARCHS); break; + case 1: + xpush_simple_list_str(pkg->h, RPMTAG_EXCLUDEARCH); break; + case 2: + xpush_simple_list_str(pkg->h, RPMTAG_EXCLUSIVEARCH); break; + case 3: + xpush_simple_list_str(pkg->h, RPMTAG_DIRNAMES); break; + case 4: + xpush_simple_list_str(pkg->h, RPMTAG_FILELINKTOS); break; + case 5: + return_files(pkg->h, 0); break; + case 6: + xpush_simple_list_str(pkg->h, RPMTAG_FILEMD5S); break; + case 7: + xpush_simple_list_str(pkg->h, RPMTAG_FILEUSERNAME); break; + case 8: + xpush_simple_list_str(pkg->h, RPMTAG_FILEGROUPNAME); break; + case 9: + return_list_int32_t(pkg->h, RPMTAG_FILEMTIMES); break; + case 10: + return_list_int32_t(pkg->h, RPMTAG_FILESIZES); break; + case 11: + return_list_int32_t(pkg->h, RPMTAG_FILEUIDS); break; + case 12: + return_list_int32_t(pkg->h, RPMTAG_FILEGIDS); break; + case 13: + return_list_uint_16(pkg->h, RPMTAG_FILEMODES); break; + case 14: + return_list_int32_t(pkg->h, RPMTAG_FILEFLAGS); break; + case 15: + return_files(pkg->h, FILTER_MODE_CONF_FILES); break; + case 16: + return_list_int32_t(pkg->h, RPMTAG_CHANGELOGTIME); break; + case 17: + xpush_simple_list_str(pkg->h, RPMTAG_CHANGELOGNAME); break; + case 18: + xpush_simple_list_str(pkg->h, RPMTAG_CHANGELOGTEXT); break; + } SPAGAIN; + void Pkg_distepoch(pkg) URPM::Package pkg PPCODE: @@ -2135,133 +2138,6 @@ void Pkg_distepoch(pkg) croak("distepoch isn't available with this rpm version"); #endif -void Pkg_disttag(pkg) - URPM::Package pkg - PPCODE: - if (pkg->h) { - mXPUSHs(newSVpv(get_name(pkg->h, RPMTAG_DISTTAG), 0)); - } - -void -Pkg_filelinktos(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_FILELINKTOS); - SPAGAIN; - -void -Pkg_files(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_files(pkg->h, 0); - SPAGAIN; - -void -Pkg_files_md5sum(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_FILEMD5S); - SPAGAIN; - -void -Pkg_files_owner(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_FILEUSERNAME); - SPAGAIN; - -void -Pkg_files_group(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_FILEGROUPNAME); - SPAGAIN; - -void -Pkg_files_mtime(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_FILEMTIMES); - SPAGAIN; - -void -Pkg_files_size(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_FILESIZES); - SPAGAIN; - -void -Pkg_files_uid(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_FILEUIDS); - SPAGAIN; - -void -Pkg_files_gid(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_FILEGIDS); - SPAGAIN; - -void -Pkg_files_mode(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_uint_16(pkg->h, RPMTAG_FILEMODES); - SPAGAIN; - -void -Pkg_files_flags(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_FILEFLAGS); - SPAGAIN; - -void -Pkg_conf_files(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_files(pkg->h, FILTER_MODE_CONF_FILES); - SPAGAIN; - -void -Pkg_changelog_time(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - return_list_int32_t(pkg->h, RPMTAG_CHANGELOGTIME); - SPAGAIN; - -void -Pkg_changelog_name(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_CHANGELOGNAME); - SPAGAIN; - -void -Pkg_changelog_text(pkg) - URPM::Package pkg - PPCODE: - PUTBACK; - xpush_simple_list_str(pkg->h, RPMTAG_CHANGELOGTEXT); - SPAGAIN; - void Pkg_queryformat(pkg, fmt) URPM::Package pkg @@ -2279,19 +2155,18 @@ void Pkg_get_tag(pkg, tagname) URPM::Package pkg int tagname; + ALIAS: + get_tag_modifiers = 1 PPCODE: PUTBACK; - return_list_tag(pkg, tagname); + switch (ix) { + case 0: + return_list_tag(pkg, tagname); break; + case 1: + return_list_tag_modifier(pkg->h, tagname); break; + } SPAGAIN; -void -Pkg_get_tag_modifiers(pkg, tagname) - URPM::Package pkg - int tagname; - PPCODE: - PUTBACK; - return_list_tag_modifier(pkg->h, tagname); - SPAGAIN; void Pkg_pack_header(pkg) |