diff options
author | tv <tv@971eb68f-4bfb-0310-8326-d2484c010a4c> | 2012-06-12 17:37:21 +0000 |
---|---|---|
committer | tv <tv@971eb68f-4bfb-0310-8326-d2484c010a4c> | 2012-06-12 17:37:21 +0000 |
commit | 23005b8929e92d379b12fc074c3c378b1efbecf4 (patch) | |
tree | 2374b81b0ea609526aaff22b148b01ace4f3090a /RPM4 | |
parent | 3996eade3a09875516f527f5fdc5fdf62e8b5ddb (diff) | |
download | perl-RPM4-23005b8929e92d379b12fc074c3c378b1efbecf4.tar perl-RPM4-23005b8929e92d379b12fc074c3c378b1efbecf4.tar.gz perl-RPM4-23005b8929e92d379b12fc074c3c378b1efbecf4.tar.bz2 perl-RPM4-23005b8929e92d379b12fc074c3c378b1efbecf4.tar.xz perl-RPM4-23005b8929e92d379b12fc074c3c378b1efbecf4.zip |
(get_name, get_arch) introduce a couple helper from URPM (needed for next commits)
git-svn-id: svn+ssh://haiku.zarb.org/home/projects/rpm4/svn/trunk@187 971eb68f-4bfb-0310-8326-d2484c010a4c
Diffstat (limited to 'RPM4')
-rw-r--r-- | RPM4/src/RPM4.xs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs index 2a17ad0..ac6c556 100644 --- a/RPM4/src/RPM4.xs +++ b/RPM4/src/RPM4.xs @@ -181,6 +181,30 @@ static rpmTag sv2dbquerytag(SV * sv_tag) { #define sv2tagtype(sv) sv2constant((sv), "rpmtagtype") +/* + * From URPM.xs: + */ + +static char * +get_name(Header header, int32_t tag) { + struct rpmtd_s val; + + headerGet(header, tag, &val, HEADERGET_MINMEM); + char *name = (char *) rpmtdGetString(&val); + rpmtdFreeData(&val); + return name ? name : ""; +} + +static char* +get_arch(Header header) { + return headerIsEntry(header, RPMTAG_SOURCERPM) ? get_name(header, RPMTAG_ARCH) : "src"; +} + +/* + * End of URPM import + * */ + + /* This function replace the standard rpmShowProgress callback * during transaction to allow perl callback */ |