Suppress some compiler false positive warnings that come up in Visual C++
This commit is contained in:
@@ -37,7 +37,7 @@ class FileStore {
|
|||||||
|
|
||||||
FsSize_t size();
|
FsSize_t size();
|
||||||
void setId(InodeId_t);
|
void setId(InodeId_t);
|
||||||
void setData(void *data, int size);
|
void setData(void *data, FsSize_t size);
|
||||||
void *data();
|
void *data();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -203,7 +203,7 @@ void FileStore<FsSize_t>::Inode::setId(InodeId_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename FsSize_t>
|
template<typename FsSize_t>
|
||||||
void FileStore<FsSize_t>::Inode::setData(void *data, int size) {
|
void FileStore<FsSize_t>::Inode::setData(void *data, FsSize_t size) {
|
||||||
ox::std::memcpy(this->data(), data, size);
|
ox::std::memcpy(this->data(), data, size);
|
||||||
dataLen = size;
|
dataLen = size;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,50 +127,56 @@ FileStat FileSystemTemplate<FileStore>::stat(const char *path) {
|
|||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
FileStat FileSystemTemplate<FileStore>::stat(ox::std::uint64_t inode) {
|
FileStat FileSystemTemplate<FileStore>::stat(ox::std::uint64_t inode) {
|
||||||
FileStat stat;
|
FileStat stat;
|
||||||
auto s = store->stat(inode);
|
auto s = store->stat((FileStore::FsSize_t) inode);
|
||||||
stat.size = s.size;
|
stat.size = s.size;
|
||||||
stat.inode = s.inodeId;
|
stat.inode = s.inodeId;
|
||||||
stat.fileType = s.fileType;
|
stat.fileType = s.fileType;
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
int FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size) {
|
int FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size) {
|
||||||
auto err = 1;
|
auto err = 1;
|
||||||
auto s = store->stat(inode);
|
auto s = store->stat((FileStore::FsSize_t) inode);
|
||||||
if (size == s.size) {
|
if (size == s.size) {
|
||||||
err = store->read(inode, buffer, nullptr);
|
err = store->read((FileStore::FsSize_t) inode, buffer, nullptr);
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
ox::std::uint8_t *FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, ox::std::uint64_t *size) {
|
ox::std::uint8_t *FileSystemTemplate<FileStore>::read(ox::std::uint64_t inode, ox::std::uint64_t *size) {
|
||||||
auto s = store->stat(inode);
|
auto s = store->stat((FileStore::FsSize_t) inode);
|
||||||
auto buff = new ox::std::uint8_t[s.size];
|
auto buff = new ox::std::uint8_t[s.size];
|
||||||
if (size) {
|
if (size) {
|
||||||
*size = s.size;
|
*size = s.size;
|
||||||
}
|
}
|
||||||
if (store->read(inode, buff, nullptr)) {
|
if (store->read((FileStore::FsSize_t) inode, buff, nullptr)) {
|
||||||
delete []buff;
|
delete []buff;
|
||||||
buff = nullptr;
|
buff = nullptr;
|
||||||
}
|
}
|
||||||
return buff;
|
return buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
int FileSystemTemplate<FileStore>::remove(ox::std::uint64_t inode) {
|
int FileSystemTemplate<FileStore>::remove(ox::std::uint64_t inode) {
|
||||||
return store->remove(inode);
|
return store->remove((FileStore::FsSize_t) inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
int FileSystemTemplate<FileStore>::write(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size, ox::std::uint8_t fileType) {
|
int FileSystemTemplate<FileStore>::write(ox::std::uint64_t inode, void *buffer, ox::std::uint64_t size, ox::std::uint8_t fileType) {
|
||||||
return store->write(inode, buffer, size, fileType);
|
return store->write((FileStore::FsSize_t) inode, buffer, (FileStore::FsSize_t) size, fileType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4244)
|
||||||
template<typename FileStore>
|
template<typename FileStore>
|
||||||
ox::std::uint8_t *FileSystemTemplate<FileStore>::format(void *buffer, typename FileStore::FsSize_t size, bool useDirectories) {
|
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);
|
buffer = FileStore::format((ox::std::uint8_t*) buffer, size, FS_TYPE);
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ char *loadFileBuff(const char *path, ::size_t *sizeOut = nullptr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ox::std::uint64_t bytes(const char *str) {
|
ox::std::uint64_t bytes(const char *str) {
|
||||||
const auto size = ::strlen(str);
|
auto size = ::strlen(str);
|
||||||
const auto lastChar = str[size-1];
|
const auto lastChar = str[size-1];
|
||||||
auto multiplier = 1;
|
auto multiplier = 1;
|
||||||
char copy[size];
|
auto copy = new char[size];
|
||||||
memcpy(copy, str, size);
|
memcpy(copy, str, size);
|
||||||
if (lastChar < '0' || lastChar > '9') {
|
if (lastChar < '0' || lastChar > '9') {
|
||||||
copy[size-1] = 0;
|
copy[size-1] = 0;
|
||||||
@@ -64,7 +64,9 @@ ox::std::uint64_t bytes(const char *str) {
|
|||||||
multiplier = -1;
|
multiplier = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ((ox::std::uint64_t) ::atoi(copy)) * multiplier;
|
const auto retval = ((ox::std::uint64_t) ::atoi(copy)) * multiplier;
|
||||||
|
delete copy;
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
int format(int argc, char **args) {
|
int format(int argc, char **args) {
|
||||||
@@ -81,17 +83,17 @@ int format(int argc, char **args) {
|
|||||||
|
|
||||||
if (size < sizeof(FileStore64)) {
|
if (size < sizeof(FileStore64)) {
|
||||||
err = 1;
|
err = 1;
|
||||||
fprintf(stderr, "File system size %llu too small, must be at least %lu\n", size, sizeof(FileStore64));
|
fprintf(stderr, "File system size %llu too small, must be at least %llu\n", (ox::std::uint64_t) size, (ox::std::uint64_t) sizeof(FileStore64));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!err) {
|
if (!err) {
|
||||||
// format
|
// format
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 16:
|
case 16:
|
||||||
FileStore16::format(buff, size, ox::fs::OxFS_16);
|
FileStore16::format(buff, (FileStore16::FsSize_t) size, ox::fs::OxFS_16);
|
||||||
break;
|
break;
|
||||||
case 32:
|
case 32:
|
||||||
FileStore32::format(buff, size, ox::fs::OxFS_32);
|
FileStore32::format(buff, (FileStore32::FsSize_t) size, ox::fs::OxFS_32);
|
||||||
break;
|
break;
|
||||||
case 64:
|
case 64:
|
||||||
FileStore64::format(buff, size, ox::fs::OxFS_64);
|
FileStore64::format(buff, size, ox::fs::OxFS_64);
|
||||||
|
|||||||
Reference in New Issue
Block a user