0,0 → 1,33 |
/* This is file ACCESS.C */ |
/* |
* Copyright (C) 1993 DJ Delorie |
* All rights reserved. |
* |
* Redistribution, modification, and use in source and binary forms is permitted |
* provided that the above copyright notice and following paragraph are |
* duplicated in all such forms. |
* |
* This file is distributed WITHOUT ANY WARRANTY; without even the implied |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
*/ |
|
#include <fcntl.h> |
#include <sys/stat.h> |
#include <unistd.h> |
|
int access(const char *fn, int flags) |
{ |
struct stat s; |
if (stat(fn, &s)) |
return -1; |
if (s.st_mode & S_IFDIR) |
return 0; |
if (flags & W_OK) |
{ |
if (s.st_mode & S_IWRITE) |
return 0; |
return -1; |
} |
return 0; |
} |
|