diff --git a/mpw/mpw_ioctl.cpp b/mpw/mpw_ioctl.cpp index e8d1510..ac13fe6 100644 --- a/mpw/mpw_ioctl.cpp +++ b/mpw/mpw_ioctl.cpp @@ -52,7 +52,7 @@ #include #include - +using MacOS::macos_error_from_errno; namespace MPW @@ -336,7 +336,7 @@ namespace MPW if (rv < 0) { d0 = errno_to_errno(errno); - f.error = OS::Internal::errno_to_oserr(errno); + f.error = macos_error_from_errno(); //perror(NULL); } else @@ -375,7 +375,7 @@ namespace MPW [arg, &f](int fd, OS::Internal::FDEntry &e){ int ok = ftruncate(fd, arg); if (ok == 0) return 0; - f.error = OS::Internal::errno_to_oserr(errno); + f.error = macos_error_from_errno(); return errno_to_errno(errno); }, [](int fd){ diff --git a/toolbox/os.cpp b/toolbox/os.cpp index daf3414..5454b25 100644 --- a/toolbox/os.cpp +++ b/toolbox/os.cpp @@ -56,7 +56,7 @@ using ToolBox::Log; -using OS::Internal::errno_to_oserr; +using MacOS::macos_error_from_errno; namespace { @@ -288,7 +288,7 @@ namespace OS 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; memoryWriteWord(d0, parm + 16); @@ -324,7 +324,7 @@ namespace OS if (fd < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); } else { @@ -499,7 +499,7 @@ namespace OS } if (count < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); } memoryWriteLong(pos, parm + 46); // new offset. @@ -555,7 +555,7 @@ namespace OS if (count < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); } memoryWriteLong(pos, parm + 46); // new offset. @@ -592,7 +592,7 @@ namespace OS int ok = ::unlink(sname.c_str()); if (ok < 0) - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); else d0 = 0; @@ -616,7 +616,7 @@ namespace OS if (::fstat(ioRefNum, &st) < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); size = 0; } else @@ -645,7 +645,7 @@ namespace OS 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); return d0; @@ -665,7 +665,7 @@ namespace OS int rv = ::lseek(ioRefNum, 0, SEEK_CUR); if (rv < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); } else { @@ -824,7 +824,7 @@ namespace OS if (::stat(sname.c_str(), &st) < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + 16); return d0; @@ -927,7 +927,7 @@ namespace OS ok = ::stat(sname.c_str(), &st); if (ok < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + 16); return d0; } diff --git a/toolbox/os_fileinfo.cpp b/toolbox/os_fileinfo.cpp index 7ada1e1..e193e7b 100644 --- a/toolbox/os_fileinfo.cpp +++ b/toolbox/os_fileinfo.cpp @@ -56,7 +56,7 @@ 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) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + _ioResult); return d0; @@ -279,7 +279,7 @@ namespace OS { ok = ::stat(sname.c_str(), &st); if (ok < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + _ioResult); return d0; } diff --git a/toolbox/os_hfs_dispatch.cpp b/toolbox/os_hfs_dispatch.cpp index 972700a..3b2d4da 100644 --- a/toolbox/os_hfs_dispatch.cpp +++ b/toolbox/os_hfs_dispatch.cpp @@ -55,7 +55,7 @@ using ToolBox::Log; -using OS::Internal::errno_to_oserr; +using MacOS::macos_error_from_errno; namespace OS { @@ -194,7 +194,7 @@ namespace OS { if (::stat(sname.c_str(), &st) < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + _ioResult); return d0; @@ -353,7 +353,7 @@ namespace OS { ok = ::stat(sname.c_str(), &st); if (ok < 0) { - d0 = errno_to_oserr(errno); + d0 = macos_error_from_errno(); memoryWriteWord(d0, parm + _ioResult); return d0; } diff --git a/toolbox/os_highlevel.cpp b/toolbox/os_highlevel.cpp index 644880f..d086358 100644 --- a/toolbox/os_highlevel.cpp +++ b/toolbox/os_highlevel.cpp @@ -55,7 +55,7 @@ #include "fs_spec.h" using ToolBox::Log; -using OS::Internal::errno_to_oserr; +using MacOS::macos_error_from_errno; namespace OS { @@ -246,7 +246,7 @@ namespace OS { int rv; rv = ::stat(path.c_str(), &st); - if (rv < 0) return errno_to_oserr(errno); + if (rv < 0) return macos_error_from_errno(); if (targetIsFolder) { diff --git a/toolbox/os_internal.cpp b/toolbox/os_internal.cpp index e1d1398..213e4e9 100644 --- a/toolbox/os_internal.cpp +++ b/toolbox/os_internal.cpp @@ -41,38 +41,11 @@ #include using ToolBox::Log; +using MacOS::macos_error_from_errno; 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 EACCES: - return errno_to_oserr(errno); + return macos_error_from_errno(); } // check for prodos ftype/auxtype @@ -268,7 +241,7 @@ namespace OS { namespace Internal { { case ENOENT: case EACCES: - return errno_to_oserr(errno); + return macos_error_from_errno(); } } 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); - if (rv < 0) return errno_to_oserr(errno); + if (rv < 0) return macos_error_from_errno(); return 0; } @@ -318,7 +291,7 @@ namespace OS { namespace Internal { } rv = ::lseek(refNum, offset, mode); - if (rv < 0) return errno_to_oserr(errno); + if (rv < 0) return macos_error_from_errno(); return rv; } @@ -501,7 +474,7 @@ namespace OS { namespace Internal { if (fd < 0) { - return errno_to_oserr(errno); + return macos_error_from_errno(); } // allocate the fd entry diff --git a/toolbox/rm.cpp b/toolbox/rm.cpp index 0da8299..c0687f5 100644 --- a/toolbox/rm.cpp +++ b/toolbox/rm.cpp @@ -53,6 +53,7 @@ using namespace OS::Internal; using namespace ToolBox; using MacOS::tool_return; +using MacOS::macos_error_from_errno; namespace { @@ -445,7 +446,7 @@ namespace RM fd = ::open(sname.c_str(), O_CREAT | O_EXCL | O_RDWR, 0666); 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);