summaryrefslogtreecommitdiffstats
path: root/src/Daemon/RPM.cpp
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2010-06-30 17:42:04 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2010-06-30 17:42:04 +0200
commitb644ad1e65198fb556b84bc38600ff484374ad2c (patch)
treeb30c1d53d450beab6c738c1cfc81ede87b9a1257 /src/Daemon/RPM.cpp
parentc50ea5b03387781e2f8d228553d4aedbfe3907b5 (diff)
downloadabrt-b644ad1e65198fb556b84bc38600ff484374ad2c.tar.gz
abrt-b644ad1e65198fb556b84bc38600ff484374ad2c.tar.xz
abrt-b644ad1e65198fb556b84bc38600ff484374ad2c.zip
added support for package specific actions
Diffstat (limited to 'src/Daemon/RPM.cpp')
-rw-r--r--src/Daemon/RPM.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Daemon/RPM.cpp b/src/Daemon/RPM.cpp
index 50b03482..d183d4cb 100644
--- a/src/Daemon/RPM.cpp
+++ b/src/Daemon/RPM.cpp
@@ -157,6 +157,7 @@ std::string GetDescription(const char* pPackage)
std::string GetComponent(const char* pFileName)
{
std::string ret;
+ char *package_name;
rpmts ts = rpmtsCreate();
rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName, 0);
Header header = rpmdbNextIterator(iter);
@@ -167,8 +168,9 @@ std::string GetComponent(const char* pFileName)
const char * srpm = rpmtdGetString(td);
if (srpm != NULL)
{
- std::string srcrpm(srpm);
- ret = srcrpm.erase(srcrpm.rfind('-', srcrpm.rfind('-')-1));
+ package_name = get_package_name_from_NVR_or_NULL(srpm);
+ ret = std::string(package_name);
+ free(package_name);
}
rpmtdFree(td);
}