Skip to content

Commit 13f4890

Browse files
committed
LibCore: Make Core::File::open() return OSError in case of failure
1 parent 1474a53 commit 13f4890

File tree

8 files changed

+15
-15
lines changed

8 files changed

+15
-15
lines changed

Tests/LibCore/TestLibCoreIODevice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ TEST_CASE(file_readline)
1313
auto path = "long_lines.txt";
1414
auto file_or_error = Core::File::open(path, Core::OpenMode::ReadOnly);
1515
if (file_or_error.is_error()) {
16-
warnln("Failed to open {}: {}", path, strerror(errno));
16+
warnln("Failed to open {}: {}", path, file_or_error.error());
1717
VERIFY_NOT_REACHED();
1818
}
1919
auto file = file_or_error.release_value();

Tests/LibWasm/test-wasm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ TESTJS_GLOBAL_FUNCTION(read_binary_wasm_file, readBinaryWasmFile)
1818
return {};
1919
auto file = Core::File::open(filename, Core::OpenMode::ReadOnly);
2020
if (file.is_error()) {
21-
vm.throw_exception<JS::TypeError>(global_object, file.error());
21+
vm.throw_exception<JS::TypeError>(global_object, file.error().string());
2222
return {};
2323
}
2424
auto contents = file.value()->read_all();

Userland/Applications/PixelPaint/Image.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Result<NonnullRefPtr<Image>, String> Image::try_create_from_pixel_paint_path(Str
9898
{
9999
auto file_or_error = Core::File::open(file_path, Core::OpenMode::ReadOnly);
100100
if (file_or_error.is_error())
101-
return file_or_error.error();
101+
return String { file_or_error.error().string() };
102102

103103
return try_create_from_pixel_paint_file(*file_or_error.value(), file_path);
104104
}
@@ -256,7 +256,7 @@ Result<void, String> Image::write_to_file(const String& file_path) const
256256

257257
auto file_or_error = Core::File::open(file_path, (Core::OpenMode)(Core::OpenMode::WriteOnly | Core::OpenMode::Truncate));
258258
if (file_or_error.is_error())
259-
return file_or_error.error();
259+
return String { file_or_error.error().string() };
260260

261261
if (!file_or_error.value()->write(builder.string_view()))
262262
return String { file_or_error.value()->error_string() };

Userland/Applications/PixelPaint/PaletteWidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ Result<Vector<Color>, String> PaletteWidget::load_palette_path(String const& fil
232232
{
233233
auto file_or_error = Core::File::open(file_path, Core::OpenMode::ReadOnly);
234234
if (file_or_error.is_error())
235-
return file_or_error.error();
235+
return String { file_or_error.error().string() };
236236

237237
auto& file = *file_or_error.value();
238238
return load_palette_file(file);

Userland/Applications/Spreadsheet/Workbook.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Result<bool, String> Workbook::load(const StringView& filename)
5151
sb.append("Failed to open ");
5252
sb.append(filename);
5353
sb.append(" for reading. Error: ");
54-
sb.append(file_or_error.error());
54+
sb.append(file_or_error.error().string());
5555

5656
return sb.to_string();
5757
}

Userland/Libraries/LibCore/File.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
2+
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
33
*
44
* SPDX-License-Identifier: BSD-2-Clause
55
*/
@@ -27,11 +27,11 @@
2727

2828
namespace Core {
2929

30-
Result<NonnullRefPtr<File>, String> File::open(String filename, OpenMode mode, mode_t permissions)
30+
Result<NonnullRefPtr<File>, OSError> File::open(String filename, OpenMode mode, mode_t permissions)
3131
{
3232
auto file = File::construct(move(filename));
3333
if (!file->open_impl(mode, permissions))
34-
return String(file->error_string());
34+
return OSError(file->error());
3535
return file;
3636
}
3737

Userland/Libraries/LibCore/File.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
2+
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
33
*
44
* SPDX-License-Identifier: BSD-2-Clause
55
*/
@@ -19,7 +19,7 @@ class File final : public IODevice {
1919
public:
2020
virtual ~File() override;
2121

22-
static Result<NonnullRefPtr<File>, String> open(String filename, OpenMode, mode_t = 0644);
22+
static Result<NonnullRefPtr<File>, OSError> open(String filename, OpenMode, mode_t = 0644);
2323

2424
String filename() const { return m_filename; }
2525
void set_filename(const String filename) { m_filename = move(filename); }

Userland/Libraries/LibCore/FileStream.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class InputFileStream final : public InputStream {
2020
{
2121
}
2222

23-
static Result<InputFileStream, String> open(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
23+
static Result<InputFileStream, OSError> open(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
2424
{
2525
VERIFY(has_flag(mode, OpenMode::ReadOnly));
2626

@@ -32,7 +32,7 @@ class InputFileStream final : public InputStream {
3232
return InputFileStream { file_result.value() };
3333
}
3434

35-
static Result<Buffered<InputFileStream>, String> open_buffered(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
35+
static Result<Buffered<InputFileStream>, OSError> open_buffered(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
3636
{
3737
VERIFY(has_flag(mode, OpenMode::ReadOnly));
3838

@@ -89,7 +89,7 @@ class OutputFileStream : public OutputStream {
8989
{
9090
}
9191

92-
static Result<OutputFileStream, String> open(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
92+
static Result<OutputFileStream, OSError> open(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
9393
{
9494
VERIFY(has_flag(mode, OpenMode::WriteOnly));
9595

@@ -101,7 +101,7 @@ class OutputFileStream : public OutputStream {
101101
return OutputFileStream { file_result.value() };
102102
}
103103

104-
static Result<Buffered<OutputFileStream>, String> open_buffered(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
104+
static Result<Buffered<OutputFileStream>, OSError> open_buffered(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
105105
{
106106
VERIFY(has_flag(mode, OpenMode::WriteOnly));
107107

0 commit comments

Comments
 (0)