aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--URPM.xs21
1 files changed, 10 insertions, 11 deletions
diff --git a/URPM.xs b/URPM.xs
index 70de2d1..1973a97 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -783,48 +783,47 @@ return_list_tag(URPM__Package pkg, const char *tag_name) {
switch (tag) {
case RPMTAG_NAME:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
+ if(!strlen(name))
croak("invalid fullname");
XPUSHs(sv_2mortal(newSVpv(name, 0)));
}
break;
case RPMTAG_EPOCH: {
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
- croak("invalid fullname");
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
XPUSHs(sv_2mortal(newSViv(epoch)));
}
case RPMTAG_VERSION:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
+ if(!strlen(version))
croak("invalid fullname");
XPUSHs(sv_2mortal(newSVpv(version, 0)));
}
break;
case RPMTAG_RELEASE:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
+ if(!strlen(release))
croak("invalid fullname");
XPUSHs(sv_2mortal(newSVpv(release, 0)));
}
break;
case RPMTAG_DISTTAG:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
- croak("invalid fullname");
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
XPUSHs(sv_2mortal(newSVpv(disttag, 0)));
}
break;
case RPMTAG_DISTEPOCH:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
- croak("invalid fullname");
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
XPUSHs(sv_2mortal(newSVpv(distepoch, 0)));
}
break;
case RPMTAG_ARCH:
{
- if(get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos))
- croak("invalid fullname");
+ get_fullname_parts_info(pkg, &name, &epoch, &version, &release, &arch, &disttag, &distepoch, &eos);
XPUSHs(sv_2mortal(newSVpv(arch, 0)));
}
break;