diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-25 15:55:44 +0100 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-25 15:55:44 +0100 |
commit | c00b15ff52f89ada9770453580e5828fd466e9c5 (patch) | |
tree | e17de93d9efda6ae58616b2debf9dce819919793 /src/lib/abrt_dbus.c | |
parent | 2951be08071ebe14b69e2da92a67e7d0a844e89a (diff) | |
download | abrt-c00b15ff52f89ada9770453580e5828fd466e9c5.tar.gz abrt-c00b15ff52f89ada9770453580e5828fd466e9c5.tar.xz abrt-c00b15ff52f89ada9770453580e5828fd466e9c5.zip |
change stealing semantics from copy to move
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/lib/abrt_dbus.c')
-rw-r--r-- | src/lib/abrt_dbus.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/abrt_dbus.c b/src/lib/abrt_dbus.c index 8843158b..5d8d861d 100644 --- a/src/lib/abrt_dbus.c +++ b/src/lib/abrt_dbus.c @@ -817,7 +817,7 @@ int32_t call_DeleteDebugDump(const char *dump_dir_name) return result; } -int connect_to_abrtd_and_call_DeleteDebugDump(const char *dump_dir_name) +static int connect_to_abrtd_and_call_DeleteDebugDump(const char *dump_dir_name) { DBusError err; dbus_error_init(&err); @@ -847,3 +847,18 @@ int connect_to_abrtd_and_call_DeleteDebugDump(const char *dump_dir_name) return ret; } + +int delete_dump_dir_possibly_using_abrtd(const char *dump_dir_name) +{ + /* Try to delete it ourselves */ + struct dump_dir *dd = dd_opendir(dump_dir_name, DD_OPEN_READONLY); + if (dd) + { + if (dd->locked) /* it is not readonly */ + return dd_delete(dd); + dd_close(dd); + } + + VERB1 log("Deleting '%s' via abrtd dbus call", dump_dir_name); + return connect_to_abrtd_and_call_DeleteDebugDump(dump_dir_name); +} |