ifdef out MSVC pragmas for other compilers

This commit is contained in:
2016-09-07 23:35:08 -05:00
parent beb0d1b550
commit c6d35aac3b
2 changed files with 43 additions and 8 deletions
+6 -1
View File
@@ -478,10 +478,15 @@ FsSize_t FileStore<FsSize_t>::iterator() {
return ptr(lastInode()) + lastInode()->size();
}
#pragma warning(disable:4244)
template<typename FsSize_t>
FsSize_t FileStore<FsSize_t>::ptr(void *ptr) {
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
return ((ox::std::uint8_t*) ptr) - begin();
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
}
template<typename FsSize_t>
+37 -7
View File
@@ -127,56 +127,83 @@ FileStat FileSystemTemplate<FileStore>::stat(const char *path) {
return stat;
}
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
FileStat FileSystemTemplate<FileStore>::stat(ox::std::uint64_t inode) {
FileStat stat;
auto s = store->stat((FileStore::FsSize_t) inode);
auto s = store->stat(inode);
stat.size = s.size;
stat.inode = s.inodeId;
stat.fileType = s.fileType;
return stat;
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
int FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size) {
auto err = 1;
auto s = store->stat((FileStore::FsSize_t) inode);
auto s = store->stat(inode);
if (size == s.size) {
err = store->read((FileStore::FsSize_t) inode, buffer, nullptr);
err = store->read(inode, buffer, nullptr);
}
return err;
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
ox::std::uint8_t *FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, ox::std::uint64_t *size) {
auto s = store->stat((FileStore::FsSize_t) inode);
auto s = store->stat(inode);
auto buff = new ox::std::uint8_t[s.size];
if (size) {
*size = s.size;
}
if (store->read((FileStore::FsSize_t) inode, buff, nullptr)) {
if (store->read(inode, buff, nullptr)) {
delete []buff;
buff = nullptr;
}
return buff;
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
int FileSystemTemplate<FileStore>::remove(ox::std::uint64_t inode) {
return store->remove((FileStore::FsSize_t) inode);
return store->remove(inode);
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
int FileSystemTemplate<FileStore>::write(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size, ox::std::uint8_t fileType) {
return store->write((FileStore::FsSize_t) inode, buffer, (FileStore::FsSize_t) size, fileType);
return store->write(inode, buffer, size, fileType);
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4244)
#endif
template<typename FileStore>
ox::std::uint8_t *FileSystemTemplate<FileStore>::format(void *buffer, typename FileStore::FsSize_t size, bool useDirectories) {
buffer = FileStore::format((ox::std::uint8_t*) buffer, size, FS_TYPE);
@@ -191,6 +218,9 @@ ox::std::uint8_t *FileSystemTemplate<FileStore>::format(void *buffer, typename F
return (ox::std::uint8_t*) buffer;
}
#ifdef _MSC_VER
#pragma warning(default:4244)
#endif
typedef FileSystemTemplate<FileStore16> FileSystem16;
typedef FileSystemTemplate<FileStore32> FileSystem32;