[fastfat_new]
authorAleksey Bragin <aleksey@reactos.org>
Sat, 10 Oct 2009 12:40:20 +0000 (12:40 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Sat, 10 Oct 2009 12:40:20 +0000 (12:40 +0000)
- Actually add short and long names to splay tree when setting up FCB's names.

svn path=/trunk/; revision=43359

reactos/drivers/filesystems/fastfat_new/fcb.c

index 47e5625..6ca33e6 100644 (file)
@@ -288,6 +288,10 @@ FatSetFcbNames(IN PFAT_IRP_CONTEXT IrpContext,
     /* Convert raw short name to a proper string */
     Fati8dot3ToString(ShortNameRaw, FALSE, ShortName);
 
     /* Convert raw short name to a proper string */
     Fati8dot3ToString(ShortNameRaw, FALSE, ShortName);
 
+    /* Add the short name link */
+    FatInsertName(IrpContext, &Fcb->ParentFcb->Dcb.SplayLinksAnsi, &Fcb->ShortName);
+    Fcb->ShortName.Fcb = Fcb;
+
     /* Get the long file name (if any) */
     if (NumLFNs > 0)
     {
     /* Get the long file name (if any) */
     if (NumLFNs > 0)
     {
@@ -314,13 +318,14 @@ FatSetFcbNames(IN PFAT_IRP_CONTEXT IrpContext,
 
         DPRINT1("Converted long name: %wZ\n", UnicodeName);
 
 
         DPRINT1("Converted long name: %wZ\n", UnicodeName);
 
+        /* Add the long unicode name link */
+        FatInsertName(IrpContext, &Fcb->ParentFcb->Dcb.SplayLinksUnicode, &Fcb->LongName);
+        Fcb->LongName.Fcb = Fcb;
+
         /* Indicate that this FCB has a unicode long name */
         SetFlag(Fcb->State, FCB_STATE_HAS_UNICODE_NAME);
     }
 
         /* Indicate that this FCB has a unicode long name */
         SetFlag(Fcb->State, FCB_STATE_HAS_UNICODE_NAME);
     }
 
-    // TODO: Add both names to the splay tree */
-    //FatInsertName(
-
     /* Mark the fact that names were added to splay trees*/
     SetFlag(Fcb->State, FCB_STATE_HAS_NAMES);
 }
     /* Mark the fact that names were added to splay trees*/
     SetFlag(Fcb->State, FCB_STATE_HAS_NAMES);
 }