Mercurial > yaffs-ecoscentric
changeset 280:c28a53b1d08f
Change yaffs_DeleteFile to yaffs_DeleteObject and improve symlink handling
| author | charles |
|---|---|
| date | Thu, 05 Mar 2009 01:47:17 +0000 |
| parents | d76290a0b1ed |
| children | 6d11517ae07f |
| files | direct/yaffsfs.c |
| diffstat | 1 files changed, 14 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@ -630,7 +630,7 @@ int yaffs_close(int fd) h->obj->inUse--; if(h->obj->inUse <= 0 && h->obj->unlinked) { - yaffs_DeleteFile(h->obj); + yaffs_DeleteObject(h->obj); } yaffsfs_PutHandle(fd); retVal = 0; @@ -1849,14 +1849,19 @@ int yaffs_symlink(const YCHAR *oldpath, yaffsfs_Lock(); parent = yaffsfs_FindDirectory(NULL,newpath,&name,0); - obj = yaffs_MknodSymLink(parent,name,mode,0,0,oldpath); - if(obj) - { - retVal = 0; - } - else - { - yaffsfs_SetError(-ENOSPC); // just assume no space for now + if(parent){ + obj = yaffs_MknodSymLink(parent,name,mode,0,0,oldpath); + if(obj) + { + retVal = 0; + } + else + { + yaffsfs_SetError(-ENOSPC); // just assume no space for now + retVal = -1; + } + } else { + yaffsfs_SetError(-EINVAL); retVal = -1; }
