mirror of
https://github.com/ksherlock/mpw.git
synced 2025-01-09 13:30:34 +00:00
use macos_error_from_errno()
This commit is contained in:
parent
728db5133e
commit
6929a374d0
@ -52,7 +52,7 @@
|
|||||||
#include <toolbox/os.h>
|
#include <toolbox/os.h>
|
||||||
#include <toolbox/os_internal.h>
|
#include <toolbox/os_internal.h>
|
||||||
|
|
||||||
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
|
|
||||||
namespace MPW
|
namespace MPW
|
||||||
@ -336,7 +336,7 @@ namespace MPW
|
|||||||
if (rv < 0)
|
if (rv < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_errno(errno);
|
d0 = errno_to_errno(errno);
|
||||||
f.error = OS::Internal::errno_to_oserr(errno);
|
f.error = macos_error_from_errno();
|
||||||
//perror(NULL);
|
//perror(NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -375,7 +375,7 @@ namespace MPW
|
|||||||
[arg, &f](int fd, OS::Internal::FDEntry &e){
|
[arg, &f](int fd, OS::Internal::FDEntry &e){
|
||||||
int ok = ftruncate(fd, arg);
|
int ok = ftruncate(fd, arg);
|
||||||
if (ok == 0) return 0;
|
if (ok == 0) return 0;
|
||||||
f.error = OS::Internal::errno_to_oserr(errno);
|
f.error = macos_error_from_errno();
|
||||||
return errno_to_errno(errno);
|
return errno_to_errno(errno);
|
||||||
},
|
},
|
||||||
[](int fd){
|
[](int fd){
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
using ToolBox::Log;
|
using ToolBox::Log;
|
||||||
|
|
||||||
using OS::Internal::errno_to_oserr;
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@ -288,7 +288,7 @@ namespace OS
|
|||||||
|
|
||||||
|
|
||||||
int rv = OS::Internal::FDEntry::close(ioRefNum, true);
|
int rv = OS::Internal::FDEntry::close(ioRefNum, true);
|
||||||
if (rv < 0) d0 = errno_to_oserr(errno);
|
if (rv < 0) d0 = macos_error_from_errno();
|
||||||
else d0 = 0;
|
else d0 = 0;
|
||||||
|
|
||||||
memoryWriteWord(d0, parm + 16);
|
memoryWriteWord(d0, parm + 16);
|
||||||
@ -324,7 +324,7 @@ namespace OS
|
|||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -499,7 +499,7 @@ namespace OS
|
|||||||
}
|
}
|
||||||
if (count < 0)
|
if (count < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
}
|
}
|
||||||
|
|
||||||
memoryWriteLong(pos, parm + 46); // new offset.
|
memoryWriteLong(pos, parm + 46); // new offset.
|
||||||
@ -555,7 +555,7 @@ namespace OS
|
|||||||
|
|
||||||
if (count < 0)
|
if (count < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
}
|
}
|
||||||
|
|
||||||
memoryWriteLong(pos, parm + 46); // new offset.
|
memoryWriteLong(pos, parm + 46); // new offset.
|
||||||
@ -592,7 +592,7 @@ namespace OS
|
|||||||
|
|
||||||
int ok = ::unlink(sname.c_str());
|
int ok = ::unlink(sname.c_str());
|
||||||
if (ok < 0)
|
if (ok < 0)
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
else
|
else
|
||||||
d0 = 0;
|
d0 = 0;
|
||||||
|
|
||||||
@ -616,7 +616,7 @@ namespace OS
|
|||||||
|
|
||||||
if (::fstat(ioRefNum, &st) < 0)
|
if (::fstat(ioRefNum, &st) < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
size = 0;
|
size = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -645,7 +645,7 @@ namespace OS
|
|||||||
|
|
||||||
int rv = ::ftruncate(ioRefNum, ioMisc);
|
int rv = ::ftruncate(ioRefNum, ioMisc);
|
||||||
|
|
||||||
d0 = rv < 0 ? errno_to_oserr(errno) : 0;
|
d0 = rv < 0 ? macos_error_from_errno() : 0;
|
||||||
|
|
||||||
memoryWriteWord(d0, parm + 16);
|
memoryWriteWord(d0, parm + 16);
|
||||||
return d0;
|
return d0;
|
||||||
@ -665,7 +665,7 @@ namespace OS
|
|||||||
int rv = ::lseek(ioRefNum, 0, SEEK_CUR);
|
int rv = ::lseek(ioRefNum, 0, SEEK_CUR);
|
||||||
if (rv < 0)
|
if (rv < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -824,7 +824,7 @@ namespace OS
|
|||||||
|
|
||||||
if (::stat(sname.c_str(), &st) < 0)
|
if (::stat(sname.c_str(), &st) < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
|
|
||||||
memoryWriteWord(d0, parm + 16);
|
memoryWriteWord(d0, parm + 16);
|
||||||
return d0;
|
return d0;
|
||||||
@ -927,7 +927,7 @@ namespace OS
|
|||||||
ok = ::stat(sname.c_str(), &st);
|
ok = ::stat(sname.c_str(), &st);
|
||||||
if (ok < 0)
|
if (ok < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
memoryWriteWord(d0, parm + 16);
|
memoryWriteWord(d0, parm + 16);
|
||||||
return d0;
|
return d0;
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
using ToolBox::Log;
|
using ToolBox::Log;
|
||||||
|
|
||||||
using OS::Internal::errno_to_oserr;
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ namespace OS {
|
|||||||
|
|
||||||
if (::stat(sname.c_str(), &st) < 0)
|
if (::stat(sname.c_str(), &st) < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
|
|
||||||
memoryWriteWord(d0, parm + _ioResult);
|
memoryWriteWord(d0, parm + _ioResult);
|
||||||
return d0;
|
return d0;
|
||||||
@ -279,7 +279,7 @@ namespace OS {
|
|||||||
ok = ::stat(sname.c_str(), &st);
|
ok = ::stat(sname.c_str(), &st);
|
||||||
if (ok < 0)
|
if (ok < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
memoryWriteWord(d0, parm + _ioResult);
|
memoryWriteWord(d0, parm + _ioResult);
|
||||||
return d0;
|
return d0;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
using ToolBox::Log;
|
using ToolBox::Log;
|
||||||
|
|
||||||
using OS::Internal::errno_to_oserr;
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
namespace OS {
|
namespace OS {
|
||||||
|
|
||||||
@ -194,7 +194,7 @@ namespace OS {
|
|||||||
|
|
||||||
if (::stat(sname.c_str(), &st) < 0)
|
if (::stat(sname.c_str(), &st) < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
|
|
||||||
memoryWriteWord(d0, parm + _ioResult);
|
memoryWriteWord(d0, parm + _ioResult);
|
||||||
return d0;
|
return d0;
|
||||||
@ -353,7 +353,7 @@ namespace OS {
|
|||||||
ok = ::stat(sname.c_str(), &st);
|
ok = ::stat(sname.c_str(), &st);
|
||||||
if (ok < 0)
|
if (ok < 0)
|
||||||
{
|
{
|
||||||
d0 = errno_to_oserr(errno);
|
d0 = macos_error_from_errno();
|
||||||
memoryWriteWord(d0, parm + _ioResult);
|
memoryWriteWord(d0, parm + _ioResult);
|
||||||
return d0;
|
return d0;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
#include "fs_spec.h"
|
#include "fs_spec.h"
|
||||||
|
|
||||||
using ToolBox::Log;
|
using ToolBox::Log;
|
||||||
using OS::Internal::errno_to_oserr;
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
|
|
||||||
namespace OS {
|
namespace OS {
|
||||||
@ -246,7 +246,7 @@ namespace OS {
|
|||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
rv = ::stat(path.c_str(), &st);
|
rv = ::stat(path.c_str(), &st);
|
||||||
if (rv < 0) return errno_to_oserr(errno);
|
if (rv < 0) return macos_error_from_errno();
|
||||||
|
|
||||||
if (targetIsFolder)
|
if (targetIsFolder)
|
||||||
{
|
{
|
||||||
|
@ -41,38 +41,11 @@
|
|||||||
#include <machine/endian.h>
|
#include <machine/endian.h>
|
||||||
|
|
||||||
using ToolBox::Log;
|
using ToolBox::Log;
|
||||||
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
namespace OS { namespace Internal {
|
namespace OS { namespace Internal {
|
||||||
|
|
||||||
|
|
||||||
uint16_t errno_to_oserr(int xerrno)
|
|
||||||
{
|
|
||||||
|
|
||||||
switch (xerrno)
|
|
||||||
{
|
|
||||||
case 0: return 0;
|
|
||||||
case EBADF: return MacOS::rfNumErr;
|
|
||||||
case EIO: return MacOS::ioErr;
|
|
||||||
case EACCES: return MacOS::permErr;
|
|
||||||
case ENOENT: return MacOS::fnfErr;
|
|
||||||
case ENOTDIR: return MacOS::dirNFErr;
|
|
||||||
case EISDIR: return MacOS::notAFileErr;
|
|
||||||
case ENOTSUP: return MacOS::extFSErr;
|
|
||||||
case EROFS: return MacOS::wPrErr;
|
|
||||||
|
|
||||||
case EEXIST: return MacOS::dupFNErr;
|
|
||||||
|
|
||||||
case EBUSY: return MacOS::fBsyErr;
|
|
||||||
|
|
||||||
case EDQUOT: return MacOS::dskFulErr;
|
|
||||||
case ENOSPC: return MacOS::dskFulErr;
|
|
||||||
|
|
||||||
|
|
||||||
default:
|
|
||||||
return MacOS::ioErr;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -126,7 +99,7 @@ namespace OS { namespace Internal {
|
|||||||
{
|
{
|
||||||
case ENOENT:
|
case ENOENT:
|
||||||
case EACCES:
|
case EACCES:
|
||||||
return errno_to_oserr(errno);
|
return macos_error_from_errno();
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for prodos ftype/auxtype
|
// check for prodos ftype/auxtype
|
||||||
@ -268,7 +241,7 @@ namespace OS { namespace Internal {
|
|||||||
{
|
{
|
||||||
case ENOENT:
|
case ENOENT:
|
||||||
case EACCES:
|
case EACCES:
|
||||||
return errno_to_oserr(errno);
|
return macos_error_from_errno();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::memmove(buffer, info, 16);
|
std::memmove(buffer, info, 16);
|
||||||
@ -291,7 +264,7 @@ namespace OS { namespace Internal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rv = ::setxattr(pathName.c_str(), XATTR_FINDERINFO_NAME, buffer, 32, 0, 0);
|
rv = ::setxattr(pathName.c_str(), XATTR_FINDERINFO_NAME, buffer, 32, 0, 0);
|
||||||
if (rv < 0) return errno_to_oserr(errno);
|
if (rv < 0) return macos_error_from_errno();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -318,7 +291,7 @@ namespace OS { namespace Internal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rv = ::lseek(refNum, offset, mode);
|
rv = ::lseek(refNum, offset, mode);
|
||||||
if (rv < 0) return errno_to_oserr(errno);
|
if (rv < 0) return macos_error_from_errno();
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,7 +474,7 @@ namespace OS { namespace Internal {
|
|||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
{
|
||||||
return errno_to_oserr(errno);
|
return macos_error_from_errno();
|
||||||
}
|
}
|
||||||
|
|
||||||
// allocate the fd entry
|
// allocate the fd entry
|
||||||
|
@ -53,6 +53,7 @@ using namespace OS::Internal;
|
|||||||
using namespace ToolBox;
|
using namespace ToolBox;
|
||||||
|
|
||||||
using MacOS::tool_return;
|
using MacOS::tool_return;
|
||||||
|
using MacOS::macos_error_from_errno;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -445,7 +446,7 @@ namespace RM
|
|||||||
fd = ::open(sname.c_str(), O_CREAT | O_EXCL | O_RDWR, 0666);
|
fd = ::open(sname.c_str(), O_CREAT | O_EXCL | O_RDWR, 0666);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
{
|
||||||
if (errno != EEXIST) return SetResError(errno_to_oserr(errno));
|
if (errno != EEXIST) return SetResError(macos_error_from_errno());
|
||||||
}
|
}
|
||||||
if (fd >= 0) close(fd);
|
if (fd >= 0) close(fd);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user