summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/common/FileStream.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/common/FileStream.cpp b/lib/common/FileStream.cpp
index 89ae7a1f..8040cab4 100644
--- a/lib/common/FileStream.cpp
+++ b/lib/common/FileStream.cpp
@@ -11,6 +11,8 @@
#include "FileStream.h"
#include "CommonException.h"
+#include <errno.h>
+
#include "MemLeakFindOn.h"
// --------------------------------------------------------------------------
@@ -36,7 +38,15 @@ FileStream::FileStream(const char *Filename, int flags, int mode)
#endif
{
MEMLEAKFINDER_NOT_A_LEAK(this);
- THROW_EXCEPTION(CommonException, OSFileOpenError)
+
+ if(errno == EACCES)
+ {
+ THROW_EXCEPTION(CommonException, AccessDenied)
+ }
+ else
+ {
+ THROW_EXCEPTION(CommonException, OSFileOpenError)
+ }
}
#ifdef WIN32
this->fileName = Filename;