Signed-off-by: Charles Manning <cdhmanning@gmail.com>
yaffsfs_Lock();
obj = yaffsfs_FindObject(NULL,path,0,1,&dir,¬Dir,&loop);
yaffsfs_Lock();
obj = yaffsfs_FindObject(NULL,path,0,1,&dir,¬Dir,&loop);
+ obj = yaffsfs_FollowLink(obj,0,&loop);
if(!dir && notDir)
yaffsfs_SetError(-ENOTDIR);
if(!dir && notDir)
yaffsfs_SetError(-ENOTDIR);
yaffsfs_SetError(-ELOOP);
else if(!dir || !obj)
yaffsfs_SetError(-ENOENT);
yaffsfs_SetError(-ELOOP);
else if(!dir || !obj)
yaffsfs_SetError(-ENOENT);
+ else if((amode & W_OK) && obj->my_dev->read_only)
+ yaffsfs_SetError(-EROFS);
+ else{
int access_ok = 1;
if((amode & R_OK) && !(obj->yst_mode & S_IREAD))
int access_ok = 1;
if((amode & R_OK) && !(obj->yst_mode & S_IREAD))