summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/bind/core_bind.cpp2
-rw-r--r--drivers/unix/dir_access_unix.cpp2
-rw-r--r--drivers/windows/dir_access_windows.cpp3
3 files changed, 4 insertions, 3 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 0b0417928a..5befc5a7f5 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -1913,7 +1913,7 @@ bool _Directory::dir_exists(String p_dir) {
int _Directory::get_space_left(){
ERR_FAIL_COND_V(!d,0);
- return d->get_space_left();
+ return d->get_space_left()/1024*1024; //return value in megabytes, given binding is int
}
Error _Directory::copy(String p_from,String p_to){
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp
index 1e55e39e31..f0e4511b1d 100644
--- a/drivers/unix/dir_access_unix.cpp
+++ b/drivers/unix/dir_access_unix.cpp
@@ -321,7 +321,7 @@ size_t DirAccessUnix::get_space_left() {
struct statvfs vfs;
if (statvfs(current_dir.utf8().get_data(), &vfs) != 0) {
- return -1;
+ return 0;
};
return vfs.f_bfree * vfs.f_bsize;
diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp
index f64eb036c3..6cd494de4e 100644
--- a/drivers/windows/dir_access_windows.cpp
+++ b/drivers/windows/dir_access_windows.cpp
@@ -359,7 +359,8 @@ FileType DirAccessWindows::get_file_type(const String& p_file) const {
size_t DirAccessWindows::get_space_left() {
uint64_t bytes = 0;
- GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL);
+ if (!GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL))
+ return 0;
//this is either 0 or a value in bytes.
return (size_t)bytes;