RtlAssert(): +workaround for failed 'No correspondence btwn file and device in irp'
authorshort <>
Sat, 29 Mar 2003 17:08:56 +0000 (17:08 +0000)
committershort <>
Sat, 29 Mar 2003 17:08:56 +0000 (17:08 +0000)
 - FIXME FIXME FIXME - prevent such failed assertion!

src/libcaptive/rtl/error.c

index 16c6f0c..62d2032 100644 (file)
@@ -44,5 +44,16 @@ VOID RtlAssert(PVOID FailedAssertion,PVOID FileName,ULONG LineNumber,PCHAR Messa
        g_message("Assertion \'%s\' failed at %s line %d: %s\n",
                (const gchar *)FailedAssertion,(const gchar *)FileName,(gint)LineNumber,
                (Message ? Message : "(no message)"));
+
+       /* FIXME: Why the hell? ntfs.sys-NT5.1sp1
+        */
+       if (!strcmp((const gchar *)FailedAssertion,"((IrpSp->FileObject->Vpb == NULL) && ((IrpSp->FileObject->DeviceObject != NULL) && (IrpSp->FileObject->DeviceObject->Vpb != NULL) && (IrpSp->DeviceObject == IrpSp->FileObject->DeviceObject->Vpb->DeviceObject))) || ((IrpSp->FileObject->Vpb != NULL) && (IrpSp->DeviceObject == IrpSp->FileObject->Vpb->DeviceObject)) || (!FlagOn( Vcb->VcbState, VCB_STATE_VOLUME_MOUNTED ))")
+#if 0  /* Try to be compatible also with non-NT-5.1sp1 ntfs.sys instances */
+                       && !strcmp((const gchar *)FileName,"d:\\xpsp1\\base\\fs\\ntfs\\strucsup.c")
+                       && LineNumber==6582
+#endif
+                       && !strcmp(Message,"No correspondence btwn file and device in irp"))
+               return;
+
        g_assert_not_reached();
 }