PR_IMPLEMENT(PRInt32) _amigaos_Access(const char *name, PRAccessHow how) { PRInt32 rv; int mode; switch (how) { case PR_ACCESS_WRITE_OK: mode = W_OK; break; case PR_ACCESS_READ_OK: mode = R_OK; break; case PR_ACCESS_EXISTS: mode = F_OK; break; default: PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0); return -1; } rv = access(name, mode); if (rv < 0) { _PR_MD_MAP_ACCESS_ERROR(_MD_ERRNO()); } return rv; }
PRInt32 _PR_MD_ACCESS(const char *name, PRAccessHow how) { PRInt32 rv; switch (how) { case PR_ACCESS_WRITE_OK: rv = access(name, 02); break; case PR_ACCESS_READ_OK: rv = access(name, 04); break; case PR_ACCESS_EXISTS: return access(name, 00); break; default: PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0); return -1; } if (rv < 0) _PR_MD_MAP_ACCESS_ERROR(errno); return rv; }