From a847b384c6ab08d6cab8afa785978c8ff30f1d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 31 Aug 2006 17:26:13 +0000 Subject: [PATCH] DeviceOpener::Open() now returns the actual error instead of -1, as suggested by Korli. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18727 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/bfs/Volume.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/Volume.cpp b/src/add-ons/kernel/file_systems/bfs/Volume.cpp index 027e95ca26..946d46f964 100644 --- a/src/add-ons/kernel/file_systems/bfs/Volume.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Volume.cpp @@ -16,10 +16,11 @@ #include #include -#include -#include -#include #include +#include +#include +#include +#include static const int32 kDesiredAllocationGroups = 56; @@ -78,6 +79,9 @@ int DeviceOpener::Open(const char *device, int mode) { fDevice = open(device, mode); + if (fDevice < 0) + fDevice = errno; + if (fDevice < 0 && mode == O_RDWR) { // try again to open read-only (don't rely on a specific error code) return Open(device, O_RDONLY);