Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}