X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Fyaffsfs.c;h=9ac08abb15be867cd69da6e466cd54523cfbf57a;hb=0035e396dc2b872289b8e6320ced59e2eea81962;hp=b93f29534962ac909489f81cfcfd91a17532fdd1;hpb=ca0474074161712816ce1ead07dcc83c4e2ebe29;p=yaffs2.git diff --git a/direct/yaffsfs.c b/direct/yaffsfs.c index b93f295..9ac08ab 100644 --- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@ -1637,7 +1637,10 @@ int yaffs_mkdir(const YCHAR *path, mode_t mode) yaffsfs_Lock(); parent = yaffsfs_FindDirectory(NULL,path,&name,0); - if(parent && parent->myDev->readOnly){ + if(parent && yaffs_strnlen(name,5) == 0){ + /* Trying to make the root itself */ + yaffsfs_SetError(-EEXIST); + } else if(parent && parent->myDev->readOnly){ yaffsfs_SetError(-EINVAL); } else { if(parent) @@ -1660,6 +1663,14 @@ int yaffs_mkdir(const YCHAR *path, mode_t mode) return retVal; } +void * yaffs_getdev(const YCHAR *path) +{ + yaffs_Device *dev=NULL; + YCHAR *dummy; + dev = yaffsfs_FindDevice(path,&dummy); + return (void *)dev; +} + int yaffs_mount2(const YCHAR *path,int readOnly) { int retVal=-1;