1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-19 19:16:34 +00:00

Simplify extension finder, 80/81 file grabbing.

This commit is contained in:
Thomas Harte
2025-02-26 17:17:24 -05:00
parent d4f08f0006
commit ff8180920f
2 changed files with 7 additions and 7 deletions
+5 -4
View File
@@ -98,11 +98,12 @@ bool FileHolder::check_signature(const char *signature, std::size_t length) {
}
std::string FileHolder::extension() const {
std::size_t pointer = name_.size() - 1;
while(pointer > 0 && name_[pointer] != '.') pointer--;
if(name_[pointer] == '.') pointer++;
const auto final_dot = name_.rfind('.');
if(final_dot == std::string::npos) {
return "";
}
std::string extension = name_.substr(pointer);
std::string extension = name_.substr(final_dot + 1);
std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower);
return extension;
}
+2 -3
View File
@@ -14,9 +14,8 @@ using namespace Storage::Tape;
ZX80O81P::ZX80O81P(const std::string &file_name) {
Storage::FileHolder file(file_name, FileHolder::FileMode::Read);
// Grab the actual file contents
data_.resize(size_t(file.stats().st_size));
file.read(data_.data(), size_t(file.stats().st_size));
// Grab file contents.
data_ = file.read(size_t(file.stats().st_size));
// If it's a ZX81 file, prepend a file name.
const auto type = file.extension();