move errno_to_oserr

This commit is contained in:
Kelvin Sherlock 2013-02-28 18:58:17 -05:00
parent 9c951a221c
commit 233c625cb0
4 changed files with 38 additions and 29 deletions

View File

@ -26,6 +26,7 @@
using ToolBox::Log;
using OS::Internal::errno_to_oserr;
namespace {
@ -37,35 +38,6 @@ namespace {
// should make this public since it's needed by mpw/*
uint16_t errno_to_oserr(int xerrno)
{
switch (xerrno)
{
case 0: return 0;
case EBADF: return rfNumErr;
case EIO: return ioErr;
case EACCES: return permErr;
case ENOENT: return fnfErr;
case ENOTDIR: return dirNFErr;
case EISDIR: return notAFileErr;
case ENOTSUP: return extFSErr;
case EROFS: return wPrErr;
case EEXIST: return dupFNErr;
case EBUSY: return fBsyErr;
case EDQUOT: return dskFulErr;
case ENOSPC: return dskFulErr;
default:
return ioErr;
}
}
std::string extension(const std::string &s)
{

View File

@ -25,6 +25,7 @@
#include "stackframe.h"
using ToolBox::Log;
using OS::Internal::errno_to_oserr;
namespace {

View File

@ -1,12 +1,47 @@
#include "os_internal.h"
#include "toolbox.h"
#include <stdexcept>
#include <cerrno>
#include <unistd.h>
#include <fcntl.h>
namespace OS { namespace Internal {
uint16_t errno_to_oserr(int xerrno)
{
using namespace ToolBox::Errors;
switch (xerrno)
{
case 0: return 0;
case EBADF: return rfNumErr;
case EIO: return ioErr;
case EACCES: return permErr;
case ENOENT: return fnfErr;
case ENOTDIR: return dirNFErr;
case EISDIR: return notAFileErr;
case ENOTSUP: return extFSErr;
case EROFS: return wPrErr;
case EEXIST: return dupFNErr;
case EBUSY: return fBsyErr;
case EDQUOT: return dskFulErr;
case ENOSPC: return dskFulErr;
default:
return ioErr;
}
}
//std::deque<FDEntry> FDTable;
std::deque<FDEntry> FDEntry::FDTable;

View File

@ -6,6 +6,7 @@
namespace OS { namespace Internal {
uint16_t errno_to_oserr(int xerrno);
struct FDEntry
{