summaryrefslogtreecommitdiff
path: root/src/main.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.vala')
-rw-r--r--src/main.vala16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main.vala b/src/main.vala
index 6a705a7..2df29ed 100644
--- a/src/main.vala
+++ b/src/main.vala
@@ -1,4 +1,4 @@
-/* Copyright 2009-2015 Yorba Foundation
+/* Copyright 2016 Software Freedom Conservancy Inc.
*
* This software is licensed under the GNU LGPL (version 2.1 or later).
* See the COPYING file in this distribution.
@@ -433,9 +433,17 @@ void main(string[] args) {
if (is_string_empty(filename) && !was_already_running) {
string orig_path = AppDirs.get_data_subdir("data").get_child("photo.db").get_path();
string backup_path = orig_path + ".bak";
- string cmdline = "cp " + orig_path + " " + backup_path;
- Posix.system(cmdline);
- Posix.system("sync");
+ try {
+ File src = File.new_for_commandline_arg(orig_path);
+ File dest = File.new_for_commandline_arg(backup_path);
+ src.copy(dest,
+ FileCopyFlags.OVERWRITE |
+ FileCopyFlags.ALL_METADATA);
+ } catch(Error error) {
+ warning("Failed to create backup file of database: %s",
+ error.message);
+ }
+ Posix.sync();
}
}