summaryrefslogtreecommitdiffstats
path: root/lib/MiddleWare/MiddleWare.cpp
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-03-18 11:04:32 +0100
committerZdenek Prikryl <zprikryl@redhat.com>2009-03-18 11:04:32 +0100
commit7bc6002f7e80a22f9b12eea21c009f1b57705c28 (patch)
tree3d18fa0b61017d11e154fbef6eb156f447bae98b /lib/MiddleWare/MiddleWare.cpp
parent95d70559d649de94502179a22856b58dbb9d47c2 (diff)
downloadabrt-7bc6002f7e80a22f9b12eea21c009f1b57705c28.tar.gz
abrt-7bc6002f7e80a22f9b12eea21c009f1b57705c28.tar.xz
abrt-7bc6002f7e80a22f9b12eea21c009f1b57705c28.zip
mw returns only existing crash infos
Diffstat (limited to 'lib/MiddleWare/MiddleWare.cpp')
-rw-r--r--lib/MiddleWare/MiddleWare.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/MiddleWare/MiddleWare.cpp b/lib/MiddleWare/MiddleWare.cpp
index c32b2e16..d724ea5e 100644
--- a/lib/MiddleWare/MiddleWare.cpp
+++ b/lib/MiddleWare/MiddleWare.cpp
@@ -382,13 +382,16 @@ vector_crash_infos_t CMiddleWare::GetCrashInfos(const std::string& pUID)
{
crash_info_t info;
CDebugDump dd;
- info.m_sUUID = rows[ii].m_sUUID;
- info.m_sUID = rows[ii].m_sUID;
- info.m_sCount = rows[ii].m_sCount;
- info.m_sTime = rows[ii].m_sTime;
- info.m_sReported = rows[ii].m_sReported;
+ try
+ {
+ dd.Open(rows[ii].m_sDebugDumpDir);
+ }
+ catch (std::string sErr)
+ {
+ DeleteDebugDump(rows[ii].m_sUUID, rows[ii].m_sUID);
+ continue;
+ }
- dd.Open(rows[ii].m_sDebugDumpDir);
dd.LoadText(FILENAME_EXECUTABLE, data);
info.m_sExecutable = data;
dd.LoadText(FILENAME_PACKAGE, data);
@@ -397,6 +400,11 @@ vector_crash_infos_t CMiddleWare::GetCrashInfos(const std::string& pUID)
info.m_sDescription = data;
dd.Close();
+ info.m_sUUID = rows[ii].m_sUUID;
+ info.m_sUID = rows[ii].m_sUID;
+ info.m_sCount = rows[ii].m_sCount;
+ info.m_sTime = rows[ii].m_sTime;
+ info.m_sReported = rows[ii].m_sReported;
infos.push_back(info);
}