diff --git a/src/ox/fs/filesystem.cpp b/src/ox/fs/filesystem.cpp index d4405c97b..7f488656b 100644 --- a/src/ox/fs/filesystem.cpp +++ b/src/ox/fs/filesystem.cpp @@ -29,12 +29,5 @@ FileSystem *createFileSystem(void *buff) { return fs; } -template<> -FsType FileSystemTemplate::FS_TYPE = OxFS_16; -template<> -FsType FileSystemTemplate::FS_TYPE = OxFS_32; -template<> -FsType FileSystemTemplate::FS_TYPE = OxFS_64; - } } diff --git a/src/ox/fs/filesystem.hpp b/src/ox/fs/filesystem.hpp index 12db462dc..800d2ebc3 100644 --- a/src/ox/fs/filesystem.hpp +++ b/src/ox/fs/filesystem.hpp @@ -49,7 +49,7 @@ class FileSystem { FileSystem *createFileSystem(void *buff); -template +template class FileSystemTemplate: public FileSystem { private: @@ -82,8 +82,6 @@ class FileSystemTemplate: public FileSystem { // static members static typename FileStore::InodeId_t INODE_ROOT_DIR; - static FsType FS_TYPE; - FileStore *store = nullptr; public: @@ -108,21 +106,21 @@ class FileSystemTemplate: public FileSystem { static uint8_t *format(void *buffer, typename FileStore::FsSize_t size, bool useDirectories); }; -template -FileSystemTemplate::FileSystemTemplate(void *buff) { +template +FileSystemTemplate::FileSystemTemplate(void *buff) { store = (FileStore*) buff; } -template -typename FileStore::InodeId_t FileSystemTemplate::INODE_ROOT_DIR = 2; +template +typename FileStore::InodeId_t FileSystemTemplate::INODE_ROOT_DIR = 2; -template -int FileSystemTemplate::mkdir(const char *path) { +template +int FileSystemTemplate::mkdir(const char *path) { return 0; } -template -FileStat FileSystemTemplate::stat(const char *path) { +template +FileStat FileSystemTemplate::stat(const char *path) { FileStat stat; return stat; } @@ -130,8 +128,8 @@ FileStat FileSystemTemplate::stat(const char *path) { #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -FileStat FileSystemTemplate::stat(uint64_t inode) { +template +FileStat FileSystemTemplate::stat(uint64_t inode) { FileStat stat; auto s = store->stat(inode); stat.size = s.size; @@ -146,8 +144,8 @@ FileStat FileSystemTemplate::stat(uint64_t inode) { #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -int FileSystemTemplate::read(uint64_t inode, void *buffer, uint64_t size) { +template +int FileSystemTemplate::read(uint64_t inode, void *buffer, uint64_t size) { auto err = 1; auto s = store->stat(inode); if (size == s.size) { @@ -162,8 +160,8 @@ int FileSystemTemplate::read(uint64_t inode, void *buffer, uint64_t s #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -uint8_t *FileSystemTemplate::read(uint64_t inode, uint64_t *size) { +template +uint8_t *FileSystemTemplate::read(uint64_t inode, uint64_t *size) { auto s = store->stat(inode); auto buff = new uint8_t[s.size]; if (size) { @@ -182,8 +180,8 @@ uint8_t *FileSystemTemplate::read(uint64_t inode, uint64_t *size) { #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -int FileSystemTemplate::remove(uint64_t inode) { +template +int FileSystemTemplate::remove(uint64_t inode) { return store->remove(inode); } #ifdef _MSC_VER @@ -193,8 +191,8 @@ int FileSystemTemplate::remove(uint64_t inode) { #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -int FileSystemTemplate::write(uint64_t inode, void *buffer, uint64_t size, uint8_t fileType) { +template +int FileSystemTemplate::write(uint64_t inode, void *buffer, uint64_t size, uint8_t fileType) { return store->write(inode, buffer, size, fileType); } #ifdef _MSC_VER @@ -204,9 +202,9 @@ int FileSystemTemplate::write(uint64_t inode, void *buffer, uint64_t #ifdef _MSC_VER #pragma warning(disable:4244) #endif -template -uint8_t *FileSystemTemplate::format(void *buffer, typename FileStore::FsSize_t size, bool useDirectories) { - buffer = FileStore::format((uint8_t*) buffer, size, (uint32_t) FileSystemTemplate::FS_TYPE); +template +uint8_t *FileSystemTemplate::format(void *buffer, typename FileStore::FsSize_t size, bool useDirectories) { + buffer = FileStore::format((uint8_t*) buffer, size, (uint32_t) FS_TYPE); auto fs = createFileSystem(buffer); if (buffer && useDirectories) { @@ -222,9 +220,9 @@ uint8_t *FileSystemTemplate::format(void *buffer, typename FileStore: #pragma warning(default:4244) #endif -typedef FileSystemTemplate FileSystem16; -typedef FileSystemTemplate FileSystem32; -typedef FileSystemTemplate FileSystem64; +typedef FileSystemTemplate FileSystem16; +typedef FileSystemTemplate FileSystem32; +typedef FileSystemTemplate FileSystem64; } } diff --git a/src/ox/fs/oxfstool.cpp b/src/ox/fs/oxfstool.cpp index 74ea5138a..4f974cccf 100644 --- a/src/ox/fs/oxfstool.cpp +++ b/src/ox/fs/oxfstool.cpp @@ -91,7 +91,7 @@ int format(int argc, char **args) { if (size < sizeof(FileStore64)) { err = 1; - fprintf(stderr, "File system size %llu too small, must be at least %llu\n", (uint64_t) size, (uint64_t) sizeof(FileStore64)); + fprintf(stderr, "File system size %lu too small, must be at least %lu\n", (uint64_t) size, (uint64_t) sizeof(FileStore64)); } if (!err) { diff --git a/src/ox/std/strops.cpp b/src/ox/std/strops.cpp index f1900748b..76c8d5c53 100644 --- a/src/ox/std/strops.cpp +++ b/src/ox/std/strops.cpp @@ -24,7 +24,7 @@ int ox_strcmp(const char *str1, const char *str2) { return retval; } -size_t ox_strlen(const char *str1) { +int ox_strlen(const char *str1) { int len; for (len = 0; str1[len]; len++); return len; diff --git a/src/ox/std/strops.hpp b/src/ox/std/strops.hpp index b67eaff39..1aa2bb095 100644 --- a/src/ox/std/strops.hpp +++ b/src/ox/std/strops.hpp @@ -11,6 +11,6 @@ int ox_strcmp(const char *str1, const char *str2); -size_t ox_strlen(const char *str1); +int ox_strlen(const char *str1); int ox_atoi(const char *str); diff --git a/src/ox/std/types.hpp b/src/ox/std/types.hpp index d0a824843..787b8dd8e 100644 --- a/src/ox/std/types.hpp +++ b/src/ox/std/types.hpp @@ -14,12 +14,8 @@ typedef unsigned short uint16_t; typedef int int32_t; typedef unsigned int uint32_t; typedef unsigned uint_t; -#ifdef _MSC_VER -typedef long long int64_t; -#else typedef long int64_t; -#endif -typedef unsigned long long uint64_t; +typedef unsigned long uint64_t; namespace ox { namespace std {