diff options
| author | Marcelo Fernandez | 2018-03-09 11:45:21 -0300 |
|---|---|---|
| committer | Marcelo Fernandez | 2018-03-13 12:07:37 -0300 |
| commit | a4e64c545406be00c00fe93818994977ae378fb9 (patch) | |
| tree | 3c348b2d9184db62e2e4e89b5c9269568e8cf7a8 /drivers/unix | |
| parent | b84236944215445be191047ab628e570ffd69e99 (diff) | |
| download | godot-a4e64c545406be00c00fe93818994977ae378fb9.tar.gz godot-a4e64c545406be00c00fe93818994977ae378fb9.tar.zst godot-a4e64c545406be00c00fe93818994977ae378fb9.zip | |
Diffstat (limited to 'drivers/unix')
| -rw-r--r-- | drivers/unix/file_access_unix.cpp | 11 | ||||
| -rw-r--r-- | drivers/unix/file_access_unix.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp index 5b093a588..a7a3eef93 100644 --- a/drivers/unix/file_access_unix.cpp +++ b/drivers/unix/file_access_unix.cpp @@ -69,6 +69,7 @@ Error FileAccessUnix::_open(const String &p_path, int p_mode_flags) { fclose(f); f = NULL; + path_src = p_path; path = fix_path(p_path); //printf("opening %ls, %i\n", path.c_str(), Memory::get_static_mem_usage()); @@ -152,6 +153,16 @@ bool FileAccessUnix::is_open() const { return (f != NULL); } +String FileAccessUnix::get_path() const { + + return path_src; +} + +String FileAccessUnix::get_path_absolute() const { + + return path; +} + void FileAccessUnix::seek(size_t p_position) { ERR_FAIL_COND(!f); diff --git a/drivers/unix/file_access_unix.h b/drivers/unix/file_access_unix.h index dbb1c9f3b..88bb39fbd 100644 --- a/drivers/unix/file_access_unix.h +++ b/drivers/unix/file_access_unix.h @@ -51,6 +51,7 @@ class FileAccessUnix : public FileAccess { mutable Error last_error; String save_path; String path; + String path_src; static FileAccess *create_libc(); @@ -61,6 +62,9 @@ public: virtual void close(); ///< close a file virtual bool is_open() const; ///< true when file is open + virtual String get_path() const; /// returns the path for the current open file + virtual String get_path_absolute() const; /// returns the absolute path for the current open file + virtual void seek(size_t p_position); ///< seek to a given position virtual void seek_end(int64_t p_position = 0); ///< seek from the end of file virtual size_t get_position() const; ///< get position in the file |
