Use file info can-write instead of Posix.Access

This commit is contained in:
Christian Dywan 2012-09-14 23:53:36 +02:00
parent 5fdd9bdee0
commit 29716305b5

View file

@ -282,15 +282,17 @@ namespace Midori {
public static bool has_enough_space (WebKit.Download download, string uri) { public static bool has_enough_space (WebKit.Download download, string uri) {
var folder = File.new_for_uri (uri).get_parent (); var folder = File.new_for_uri (uri).get_parent ();
bool can_write;
uint64 free_space; uint64 free_space;
try { try {
var info = folder.query_filesystem_info ("filesystem::free"); var info = folder.query_filesystem_info ("access::can-write,filesystem::free");
can_write = info.get_attribute_boolean ("access::can-write");
free_space = info.get_attribute_uint64 ("filesystem::free"); free_space = info.get_attribute_uint64 ("filesystem::free");
} }
catch (Error error) { catch (Error error) {
can_write = false;
free_space = 0; free_space = 0;
} }
bool can_write = Posix.access (folder.get_path (), Posix.F_OK) == 0;
if (free_space < download.total_size || !can_write) { if (free_space < download.total_size || !can_write) {
string message; string message;
string detailed_message; string detailed_message;