1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 19:15:09 +00:00

AK: Make MappedFile heap-allocated and ref-counted

Let's adapt this class a bit better to how it's actually being used.

Instead of having valid/invalid states and storing an error in case
it's invalid, a MappedFile is now always valid, and the factory
function that creates it will return an OSError if mapping fails.
This commit is contained in:
Andreas Kling 2021-01-10 15:55:54 +01:00
parent 70fce5c4c7
commit 2f3b901f7f
36 changed files with 184 additions and 199 deletions

View file

@ -181,9 +181,12 @@ int main(int argc, char** argv)
return 1;
}
MappedFile mapped_file { zip_file_path };
if (!mapped_file.is_valid())
auto file_or_error = MappedFile ::map(zip_file_path);
if (file_or_error.is_error()) {
warnln("Failed to open {}: {}", zip_file_path, file_or_error.error());
return 1;
}
auto& mapped_file = *file_or_error.value();
printf("Archive: %s\n", zip_file_path.characters());