[CDFS]
[reactos.git] / reactos / drivers / filesystems / cdfs / fsctl.c
index c0433db..c4920b4 100644 (file)
@@ -46,7 +46,7 @@ CdfsGetPVDData(PUCHAR Buffer,
                PCDINFO CdInfo)
 {
     PPVD Pvd;
-    ULONG i;
+    USHORT i;
     PUCHAR pc;
     PWCHAR pw;
 
@@ -63,10 +63,10 @@ CdfsGetPVDData(PUCHAR Buffer,
     for (i = 0; i < 2048; i += 4)
     {
         /* DON'T optimize this to ULONG!!! (breaks overflow) */
-        Serial.Part[0] += Buffer[i+3];
-        Serial.Part[1] += Buffer[i+2];
-        Serial.Part[2] += Buffer[i+1];
         Serial.Part[3] += Buffer[i+0];
+        Serial.Part[2] += Buffer[i+1];
+        Serial.Part[1] += Buffer[i+2];
+        Serial.Part[0] += Buffer[i+3];
     }
     CdInfo->SerialNumber = Serial.Value;
 
@@ -231,7 +231,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
         return Status;
     }
 
-    DPRINT("FirstSession %d, LastSession %d, FirstTrack %d\n",
+    DPRINT("FirstSession %u, LastSession %u, FirstTrack %u\n",
         Toc.FirstSession, Toc.LastSession, Toc.TrackData.TrackNumber);
 
     Offset = 0;
@@ -241,7 +241,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
     }
     CdInfo->VolumeOffset = Offset;
 
-    DPRINT("Offset of first track in last session %d\n", Offset);
+    DPRINT("Offset of first track in last session %u\n", Offset);
 
     CdInfo->JolietLevel = 0;
     VdHeader = (PVD_HEADER)Buffer;
@@ -439,8 +439,6 @@ ByeBye:
             ObDereferenceObject(DeviceExt->StreamFileObject);
         if (Fcb)
             ExFreePool(Fcb);
-        if (Ccb)
-            ExFreePool(Ccb);
         if (NewDeviceObject)
             IoDeleteDevice(NewDeviceObject);
     }
@@ -515,7 +513,7 @@ CdfsVerifyVolume(PDEVICE_OBJECT DeviceObject,
         while (Entry != &DeviceExt->FcbListHead)
         {
             Fcb = (PFCB)CONTAINING_RECORD(Entry, FCB, FcbListEntry);
-            DPRINT1("OpenFile %S  RefCount %ld\n", Fcb->PathName, Fcb->RefCount);
+            DPRINT1("OpenFile %wZ  RefCount %ld\n", &Fcb->PathName, Fcb->RefCount);
 
             Entry = Entry->Flink;
         }
@@ -540,6 +538,8 @@ CdfsSetCompression(
     PIO_STACK_LOCATION Stack;
     USHORT CompressionState;
 
+    UNREFERENCED_PARAMETER(DeviceObject);
+
     Stack = IoGetCurrentIrpStackLocation(Irp);
 
     if (Stack->Parameters.DeviceIoControl.InputBufferLength != sizeof(CompressionState))
@@ -566,6 +566,7 @@ CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
 
     switch (Stack->MinorFunction)
     {
+    case IRP_MN_KERNEL_CALL:
     case IRP_MN_USER_FS_REQUEST:
         switch (Stack->Parameters.DeviceIoControl.IoControlCode)
         {
@@ -592,7 +593,7 @@ CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
         break;
 
     default:
-        DPRINT1("CDFS FSC: MinorFunction %d\n", Stack->MinorFunction);
+        DPRINT1("CDFS FSC: MinorFunction %u\n", Stack->MinorFunction);
         Status = STATUS_INVALID_DEVICE_REQUEST;
         break;
     }