Add scanning speedups
[yaffs2.git] / direct / yaffsfs.c
index 1c73c99471a76cb2fd5e8788c4107f9d7fdd515b..45539db178dc57b5ab6fa03fc0eb4477d6d692f0 100644 (file)
@@ -25,7 +25,7 @@
 #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.3 2005-04-24 09:18:52 charles Exp $";
 
 // configurationList is the list of devices that are supported
 static yaffsfs_DeviceConfiguration *yaffsfs_configurationList;
@@ -180,7 +180,7 @@ static yaffs_Device *yaffsfs_FindDevice(const char *path, char **restOfPath)
                        p++;
                        leftOver++;
                }
-               if(!*p)
+               if(!*p && (!*leftOver || *leftOver == '/'))
                {
                        // Matched prefix
                        *restOfPath = (char *)leftOver;
@@ -1124,7 +1124,7 @@ off_t yaffs_freespace(const char *path)
        
        yaffsfs_Lock();
        dev = yaffsfs_FindDevice(path,&dummy);
-       if(dev)
+       if(dev  && dev->isMounted)
        {
                retVal = yaffs_GetNumberOfFreeChunks(dev);
                retVal *= dev->nBytesPerChunk;