printf("Start\n");
-
+ // Test the problem of:
+ // Create file
+ // Delete file
+ // Create file with same name
+ // Delete file <== crash
+
+ f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
+ if(f)
+ {
+ printf("Found\n");
+ }
+ else
+ {
+ f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0);
+ printf("Created\n");
+ }
+ yaffs_Unlink(yaffs_Root(dev),"Name1");
+
+ f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
+ if(f)
+ {
+ printf("Found\n");
+ }
+ else
+ {
+ f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0);
+ printf("Created\n");
+ }
+ yaffs_Unlink(yaffs_Root(dev),"Name1");
+
+
+
+ // Other tests
+
f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
if(f)
{
// Create a directory and play with it
- printf("Create directory and play with it\n");
-
- d = yaffs_MknodDirectory(yaffs_Root(dev),"direct",0,0,0);
+ printf("Find or Create directory and play with it\n");
+ d = yaffs_FindObjectByName(yaffs_Root(dev),"direct");
+ if(!d)
+ {
+ d = yaffs_MknodDirectory(yaffs_Root(dev),"direct",0,0,0);
+ }
yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
yaffs_ApplyToDirectoryChildren(d,yaffs_DumpObject);