+ if(h && h->useCount > 0 && h->inodeId >= 0 && h->inodeId < YAFFSFS_N_HANDLES)
+ return &yaffsfs_inode[h->inodeId];
+
+ return NULL;
+}
+
+yaffs_Object *yaffsfs_GetHandleObject(int handle)
+{
+ yaffsfs_Inode *in = yaffsfs_GetInodePointer(handle);
+
+ if(in)
+ return in->iObj;
+
+ return NULL;
+}
+
+//yaffsfs_GetInodeIdForObject
+// Grab an inode entry when opening a new inode.
+//
+
+static int yaffsfs_GetInodeIdForObject(yaffs_Object *obj)
+{
+ int i;
+ int ret = -1;
+ yaffsfs_Inode *in = NULL;
+
+ if(obj)
+ obj = yaffs_GetEquivalentObject(obj);
+
+ /* Look for it. If we can't find it then make one */
+ for(i = 0; i < YAFFSFS_N_HANDLES && ret < 0; i++){
+ if(yaffsfs_inode[i].iObj == obj)
+ ret = i;
+ }
+
+ for(i = 0; i < YAFFSFS_N_HANDLES && ret < 0; i++){
+ if(!yaffsfs_inode[i].iObj)
+ ret = i;