diff options
Diffstat (limited to 'src/Daemon/CrashWatcher.cpp')
-rw-r--r-- | src/Daemon/CrashWatcher.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp index 1606f86d..88c058b0 100644 --- a/src/Daemon/CrashWatcher.cpp +++ b/src/Daemon/CrashWatcher.cpp @@ -73,6 +73,8 @@ vector_crash_infos_t GetCrashInfos(const char *pUID) /* Deletes both DB record and dump dir */ DeleteDebugDump(uuid, uid); break; + default: + break; } } } @@ -191,7 +193,7 @@ int CreateReportThread(const char* pUUID, const char* pUID, int force, const cha /* Remove dump dir and its DB record */ -void DeleteDebugDump(const char *pUUID, const char *pUID) +int DeleteDebugDump(const char *pUUID, const char *pUID) { try { @@ -201,12 +203,18 @@ void DeleteDebugDump(const char *pUUID, const char *pUID) database->DeleteRow(pUUID, pUID); database->DisConnect(); - delete_debug_dump_dir(row.m_sDebugDumpDir.c_str()); + const char *dump_dir = row.m_sDebugDumpDir.c_str(); + if (dump_dir[0] != '\0') + { + delete_debug_dump_dir(dump_dir); + return 0; /* success */ + } } catch (CABRTException& e) { error_msg("%s", e.what()); } + return -1; /* failure */ } void DeleteDebugDump_by_dir(const char *dump_dir) |