aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-06-08 18:50:18 +0000
committerThierry Vignaud <tv@mageia.org>2012-06-08 18:50:18 +0000
commit95d94d2ccd8443efd904586580e553750bf60c9d (patch)
treecf7f9c0d10e6052fe74a69207e3423c1fdb739c5
parentff4b4beae9339b8b77299793e8f70d3bc2e6d56a (diff)
downloadperl-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.xs351
1 files changed, 113 insertions, 238 deletions
diff --git a/URPM.xs b/URPM.xs
index 737cb34..1235a66 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -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)