diff options
Diffstat (limited to 'drivers/windows')
-rw-r--r-- | drivers/windows/dir_access_windows.cpp | 29 | ||||
-rw-r--r-- | drivers/windows/dir_access_windows.h | 1 | ||||
-rw-r--r-- | drivers/windows/file_access_windows.cpp | 29 | ||||
-rw-r--r-- | drivers/windows/file_access_windows.h | 1 | ||||
-rw-r--r-- | drivers/windows/rw_lock_windows.cpp | 8 | ||||
-rw-r--r-- | drivers/windows/rw_lock_windows.h | 1 | ||||
-rw-r--r-- | drivers/windows/thread_windows.cpp | 9 | ||||
-rw-r--r-- | drivers/windows/thread_windows.h | 1 |
8 files changed, 10 insertions, 69 deletions
diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index a8618b05d7..d0f06ae4c4 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -53,7 +53,6 @@ */ struct DirAccessWindowsPrivate { - HANDLE h; //handle for findfirstfile WIN32_FIND_DATA f; WIN32_FIND_DATAW fu; //unicode version @@ -62,7 +61,6 @@ struct DirAccessWindowsPrivate { // CreateFolderAsync Error DirAccessWindows::list_dir_begin() { - _cisdir = false; _cishidden = false; @@ -73,7 +71,6 @@ Error DirAccessWindows::list_dir_begin() { } String DirAccessWindows::get_next() { - if (p->h == INVALID_HANDLE_VALUE) return ""; @@ -83,7 +80,6 @@ String DirAccessWindows::get_next() { String name = p->fu.cFileName; if (FindNextFileW(p->h, &p->fu) == 0) { - FindClose(p->h); p->h = INVALID_HANDLE_VALUE; } @@ -92,29 +88,25 @@ String DirAccessWindows::get_next() { } bool DirAccessWindows::current_is_dir() const { - return _cisdir; } bool DirAccessWindows::current_is_hidden() const { - return _cishidden; } void DirAccessWindows::list_dir_end() { - if (p->h != INVALID_HANDLE_VALUE) { - FindClose(p->h); p->h = INVALID_HANDLE_VALUE; } } -int DirAccessWindows::get_drive_count() { +int DirAccessWindows::get_drive_count() { return drive_count; } -String DirAccessWindows::get_drive(int p_drive) { +String DirAccessWindows::get_drive(int p_drive) { if (p_drive < 0 || p_drive >= drive_count) return ""; @@ -122,7 +114,6 @@ String DirAccessWindows::get_drive(int p_drive) { } Error DirAccessWindows::change_dir(String p_dir) { - GLOBAL_LOCK_FUNCTION p_dir = fix_path(p_dir); @@ -136,7 +127,6 @@ Error DirAccessWindows::change_dir(String p_dir) { String base = _get_root_path(); if (base != "") { - GetCurrentDirectoryW(2048, real_current_dir_name); String new_dir; new_dir = String(real_current_dir_name).replace("\\", "/"); @@ -146,7 +136,6 @@ Error DirAccessWindows::change_dir(String p_dir) { } if (worked) { - GetCurrentDirectoryW(2048, real_current_dir_name); current_dir = real_current_dir_name; // TODO, utf8 parser current_dir = current_dir.replace("\\", "/"); @@ -160,7 +149,6 @@ Error DirAccessWindows::change_dir(String p_dir) { } Error DirAccessWindows::make_dir(String p_dir) { - GLOBAL_LOCK_FUNCTION p_dir = fix_path(p_dir); @@ -190,10 +178,8 @@ Error DirAccessWindows::make_dir(String p_dir) { } String DirAccessWindows::get_current_dir(bool p_include_drive) { - String base = _get_root_path(); if (base != "") { - String bd = current_dir.replace("\\", "/").replace_first(base, ""); if (bd.begins_with("/")) return _get_root_string() + bd.substr(1, bd.length()); @@ -217,7 +203,6 @@ String DirAccessWindows::get_current_dir(bool p_include_drive) { } bool DirAccessWindows::file_exists(String p_file) { - GLOBAL_LOCK_FUNCTION if (!p_file.is_abs_path()) @@ -239,7 +224,6 @@ bool DirAccessWindows::file_exists(String p_file) { } bool DirAccessWindows::dir_exists(String p_dir) { - GLOBAL_LOCK_FUNCTION if (p_dir.is_rel_path()) @@ -260,7 +244,6 @@ bool DirAccessWindows::dir_exists(String p_dir) { } Error DirAccessWindows::rename(String p_path, String p_new_path) { - if (p_path.is_rel_path()) p_path = get_current_dir().plus_file(p_path); @@ -298,7 +281,6 @@ Error DirAccessWindows::rename(String p_path, String p_new_path) { } Error DirAccessWindows::remove(String p_path) { - if (p_path.is_rel_path()) p_path = get_current_dir().plus_file(p_path); @@ -318,6 +300,7 @@ Error DirAccessWindows::remove(String p_path) { else return ::_wunlink(p_path.c_str()) == 0 ? OK : FAILED; } + /* FileType DirAccessWindows::get_file_type(const String& p_file) const { @@ -345,9 +328,9 @@ FileType DirAccessWindows::get_file_type(const String& p_file) const { return (attr&FILE_ATTRIBUTE_DIRECTORY)?FILE_TYPE_ } + */ size_t DirAccessWindows::get_space_left() { - uint64_t bytes = 0; if (!GetDiskFreeSpaceEx(nullptr, (PULARGE_INTEGER)&bytes, nullptr, nullptr)) return 0; @@ -377,7 +360,6 @@ String DirAccessWindows::get_filesystem_type() const { &dwFileSystemFlags, szFileSystemName, sizeof(szFileSystemName)) == TRUE) { - return String(szFileSystemName); } @@ -385,7 +367,6 @@ String DirAccessWindows::get_filesystem_type() const { } DirAccessWindows::DirAccessWindows() { - p = memnew(DirAccessWindowsPrivate); p->h = INVALID_HANDLE_VALUE; current_dir = "."; @@ -401,7 +382,6 @@ DirAccessWindows::DirAccessWindows() { DWORD mask = GetLogicalDrives(); for (int i = 0; i < MAX_DRIVES; i++) { - if (mask & (1 << i)) { //DRIVE EXISTS drives[drive_count] = 'A' + i; @@ -414,7 +394,6 @@ DirAccessWindows::DirAccessWindows() { } DirAccessWindows::~DirAccessWindows() { - memdelete(p); } diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index f59e4d7030..47aedfecf5 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -42,7 +42,6 @@ struct DirAccessWindowsPrivate; class DirAccessWindows : public DirAccess { - enum { MAX_DRIVES = 26 }; diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index f1326abb7b..50366d0b2d 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -49,17 +49,14 @@ #endif void FileAccessWindows::check_errors() const { - ERR_FAIL_COND(!f); if (feof(f)) { - last_error = ERR_FILE_EOF; } } Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { - path_src = p_path; path = fix_path(p_path); if (f) @@ -83,7 +80,6 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { struct _stat st; if (_wstat(path.c_str(), &st) == 0) { - if (!S_ISREG(st.st_mode)) return ERR_FILE_CANT_OPEN; }; @@ -99,7 +95,6 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { if (f != INVALID_HANDLE_VALUE) { String fname = d.cFileName; if (fname != String()) { - String base_file = path.get_file(); if (base_file != fname && base_file.findn(fname) == 0) { WARN_PRINT("Case mismatch opening requested file '" + base_file + "', stored as '" + fname + "' in the filesystem. This file will not open when exported to other case-sensitive platforms."); @@ -135,7 +130,6 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) { } void FileAccessWindows::close() { - if (!f) return; @@ -143,7 +137,6 @@ void FileAccessWindows::close() { f = nullptr; if (save_path != "") { - bool rename_error = true; int attempts = 4; while (rename_error && attempts) { @@ -185,36 +178,33 @@ void FileAccessWindows::close() { } String FileAccessWindows::get_path() const { - return path_src; } String FileAccessWindows::get_path_absolute() const { - return path; } bool FileAccessWindows::is_open() const { - return (f != nullptr); } -void FileAccessWindows::seek(size_t p_position) { +void FileAccessWindows::seek(size_t p_position) { ERR_FAIL_COND(!f); last_error = OK; if (fseek(f, p_position, SEEK_SET)) check_errors(); prev_op = 0; } -void FileAccessWindows::seek_end(int64_t p_position) { +void FileAccessWindows::seek_end(int64_t p_position) { ERR_FAIL_COND(!f); if (fseek(f, p_position, SEEK_END)) check_errors(); prev_op = 0; } -size_t FileAccessWindows::get_position() const { +size_t FileAccessWindows::get_position() const { size_t aux_position = 0; aux_position = ftell(f); if (!aux_position) { @@ -222,8 +212,8 @@ size_t FileAccessWindows::get_position() const { }; return aux_position; } -size_t FileAccessWindows::get_len() const { +size_t FileAccessWindows::get_len() const { ERR_FAIL_COND_V(!f, 0); size_t pos = get_position(); @@ -235,13 +225,11 @@ size_t FileAccessWindows::get_len() const { } bool FileAccessWindows::eof_reached() const { - check_errors(); return last_error == ERR_FILE_EOF; } uint8_t FileAccessWindows::get_8() const { - ERR_FAIL_COND_V(!f, 0); if (flags == READ_WRITE || flags == WRITE_READ) { if (prev_op == WRITE) { @@ -259,7 +247,6 @@ uint8_t FileAccessWindows::get_8() const { } int FileAccessWindows::get_buffer(uint8_t *p_dst, int p_length) const { - ERR_FAIL_COND_V(!f, -1); if (flags == READ_WRITE || flags == WRITE_READ) { if (prev_op == WRITE) { @@ -273,12 +260,10 @@ int FileAccessWindows::get_buffer(uint8_t *p_dst, int p_length) const { }; Error FileAccessWindows::get_error() const { - return last_error; } void FileAccessWindows::flush() { - ERR_FAIL_COND(!f); fflush(f); if (prev_op == WRITE) @@ -286,7 +271,6 @@ void FileAccessWindows::flush() { } void FileAccessWindows::store_8(uint8_t p_dest) { - ERR_FAIL_COND(!f); if (flags == READ_WRITE || flags == WRITE_READ) { if (prev_op == READ) { @@ -313,23 +297,19 @@ void FileAccessWindows::store_buffer(const uint8_t *p_src, int p_length) { } bool FileAccessWindows::file_exists(const String &p_name) { - FILE *g; //printf("opening file %s\n", p_fname.c_str()); String filename = fix_path(p_name); _wfopen_s(&g, filename.c_str(), L"rb"); if (g == nullptr) { - return false; } else { - fclose(g); return true; } } uint64_t FileAccessWindows::_get_modified_time(const String &p_file) { - String file = fix_path(p_file); if (file.ends_with("/") && file != "/") file = file.substr(0, file.length() - 1); @@ -338,7 +318,6 @@ uint64_t FileAccessWindows::_get_modified_time(const String &p_file) { int rv = _wstat(file.c_str(), &st); if (rv == 0) { - return st.st_mtime; } else { ERR_FAIL_V_MSG(0, "Failed to get modified time for: " + file + "."); diff --git a/drivers/windows/file_access_windows.h b/drivers/windows/file_access_windows.h index 34a7e400a0..98c0efe576 100644 --- a/drivers/windows/file_access_windows.h +++ b/drivers/windows/file_access_windows.h @@ -39,7 +39,6 @@ #include <stdio.h> class FileAccessWindows : public FileAccess { - FILE *f = nullptr; int flags = 0; void check_errors() const; diff --git a/drivers/windows/rw_lock_windows.cpp b/drivers/windows/rw_lock_windows.cpp index 438f4bf10d..757c7661f5 100644 --- a/drivers/windows/rw_lock_windows.cpp +++ b/drivers/windows/rw_lock_windows.cpp @@ -38,17 +38,14 @@ #include <stdio.h> void RWLockWindows::read_lock() { - AcquireSRWLockShared(&lock); } void RWLockWindows::read_unlock() { - ReleaseSRWLockShared(&lock); } Error RWLockWindows::read_try_lock() { - if (TryAcquireSRWLockShared(&lock) == 0) { return ERR_BUSY; } else { @@ -57,12 +54,10 @@ Error RWLockWindows::read_try_lock() { } void RWLockWindows::write_lock() { - AcquireSRWLockExclusive(&lock); } void RWLockWindows::write_unlock() { - ReleaseSRWLockExclusive(&lock); } @@ -75,17 +70,14 @@ Error RWLockWindows::write_try_lock() { } RWLock *RWLockWindows::create_func_windows() { - return memnew(RWLockWindows); } void RWLockWindows::make_default() { - create_func = create_func_windows; } RWLockWindows::RWLockWindows() { - InitializeSRWLock(&lock); } diff --git a/drivers/windows/rw_lock_windows.h b/drivers/windows/rw_lock_windows.h index 3705c1eb38..61dd679d32 100644 --- a/drivers/windows/rw_lock_windows.h +++ b/drivers/windows/rw_lock_windows.h @@ -38,7 +38,6 @@ #include <windows.h> class RWLockWindows : public RWLock { - SRWLOCK lock; static RWLock *create_func_windows(); diff --git a/drivers/windows/thread_windows.cpp b/drivers/windows/thread_windows.cpp index c36437d891..ca7d936fac 100644 --- a/drivers/windows/thread_windows.cpp +++ b/drivers/windows/thread_windows.cpp @@ -35,17 +35,14 @@ #include "core/os/memory.h" Thread::ID ThreadWindows::get_id() const { - return id; } Thread *ThreadWindows::create_thread_windows() { - return memnew(ThreadWindows); } DWORD ThreadWindows::thread_callback(LPVOID userdata) { - ThreadWindows *t = reinterpret_cast<ThreadWindows *>(userdata); ScriptServer::thread_enter(); //scripts may need to attach a stack @@ -60,7 +57,6 @@ DWORD ThreadWindows::thread_callback(LPVOID userdata) { } Thread *ThreadWindows::create_func_windows(ThreadCreateCallback p_callback, void *p_user, const Settings &) { - ThreadWindows *tr = memnew(ThreadWindows); tr->callback = p_callback; tr->user = p_user; @@ -70,12 +66,12 @@ Thread *ThreadWindows::create_func_windows(ThreadCreateCallback p_callback, void return tr; } -Thread::ID ThreadWindows::get_thread_id_func_windows() { +Thread::ID ThreadWindows::get_thread_id_func_windows() { return (ID)GetCurrentThreadId(); //must implement } -void ThreadWindows::wait_to_finish_func_windows(Thread *p_thread) { +void ThreadWindows::wait_to_finish_func_windows(Thread *p_thread) { ThreadWindows *tp = static_cast<ThreadWindows *>(p_thread); ERR_FAIL_COND(!tp); WaitForSingleObject(tp->handle, INFINITE); @@ -84,7 +80,6 @@ void ThreadWindows::wait_to_finish_func_windows(Thread *p_thread) { } void ThreadWindows::make_default() { - create_func = create_func_windows; get_thread_id_func = get_thread_id_func_windows; wait_to_finish_func = wait_to_finish_func_windows; diff --git a/drivers/windows/thread_windows.h b/drivers/windows/thread_windows.h index 93de4c6e8c..502c418ce0 100644 --- a/drivers/windows/thread_windows.h +++ b/drivers/windows/thread_windows.h @@ -39,7 +39,6 @@ #include <windows.h> class ThreadWindows : public Thread { - ThreadCreateCallback callback; void *user; ID id; |