summaryrefslogtreecommitdiffstats
path: root/src/daemon/CrashWatcher.cpp
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2010-09-07 18:12:17 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2010-09-08 15:53:29 +0200
commita0b7850b3ac3a89e2bb02a214039c777d244ef22 (patch)
tree406d4cddd94e4d6ec6d282907fc6bc3bf3c97a4d /src/daemon/CrashWatcher.cpp
parent890e78b99a136533fa5bab788ce0f6b9a9f2b47c (diff)
downloadabrt-a0b7850b3ac3a89e2bb02a214039c777d244ef22.tar.gz
abrt-a0b7850b3ac3a89e2bb02a214039c777d244ef22.tar.xz
abrt-a0b7850b3ac3a89e2bb02a214039c777d244ef22.zip
SQLite3.cpp: replace std::vector by GList
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com> Acked-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/daemon/CrashWatcher.cpp')
-rw-r--r--src/daemon/CrashWatcher.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/daemon/CrashWatcher.cpp b/src/daemon/CrashWatcher.cpp
index 63101185..416d5f41 100644
--- a/src/daemon/CrashWatcher.cpp
+++ b/src/daemon/CrashWatcher.cpp
@@ -188,27 +188,33 @@ int DeleteDebugDump(const char *crash_id, long caller_uid)
{
CDatabase* database = g_pPluginManager->GetDatabase(g_settings_sDatabase.c_str());
database->Connect();
- database_row_t row = database->GetRow(crash_id);
- if (row.m_sUUID == "")
+ struct db_row *row = database->GetRow(crash_id);
+ if (!row)
{
database->DisConnect();
return ENOENT;
}
+
+ char caller_uid_str[sizeof(long) * 3 + 2];
+ sprintf(caller_uid_str, "%li", caller_uid);
+
if (caller_uid != 0 /* not called by root */
- && row.m_sInformAll != "1"
- && to_string(caller_uid) != row.m_sUID
+ && row->db_inform_all[0] != '1'
+ && strcmp(caller_uid_str, row->db_uid) != 0
) {
database->DisConnect();
+ db_row_free(row);
return EPERM;
}
database->DeleteRow(crash_id);
database->DisConnect();
- const char *dump_dir = row.m_sDebugDumpDir.c_str();
- if (dump_dir[0] != '\0')
+ if (row->db_dump_dir[0] != '\0')
{
- delete_debug_dump_dir(dump_dir);
+ delete_debug_dump_dir(row->db_dump_dir);
+ db_row_free(row);
return 0; /* success */
}
+ db_row_free(row);
}
catch (CABRTException& e)
{