#endif
-const char *yaffsfs_c_version="$Id: yaffsfs.c,v 1.1 2004-11-03 08:29:28 charles Exp $";
+const char *yaffsfs_c_version="$Id: yaffsfs.c,v 1.4 2005-07-03 05:48:11 charles Exp $";
// configurationList is the list of devices that are supported
static yaffsfs_DeviceConfiguration *yaffsfs_configurationList;
p++;
leftOver++;
}
- if(!*p)
+ if(!*p && (!*leftOver || *leftOver == '/'))
{
// Matched prefix
*restOfPath = (char *)leftOver;
yaffs_Object *obj = NULL;
int pos = 0;
int nWritten = -1;
+ int writeThrough = 0;
yaffsfs_Lock();
h = yaffsfs_GetHandlePointer(fd);
pos = h->position;
}
- nWritten = yaffs_WriteDataToFile(obj,buf,pos,nbyte);
+ nWritten = yaffs_WriteDataToFile(obj,buf,pos,nbyte,writeThrough);
if(nWritten >= 0)
{
yaffsfs_Lock();
dev = yaffsfs_FindDevice(path,&dummy);
- if(dev)
+ if(dev && dev->isMounted)
{
retVal = yaffs_GetNumberOfFreeChunks(dev);
retVal *= dev->nBytesPerChunk;