[ros-diffs] [hpoussin] 26128: Fix warnings

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Sun Mar 18 01:27:03 CET 2007


Author: hpoussin
Date: Sun Mar 18 03:27:02 2007
New Revision: 26128

URL: http://svn.reactos.org/svn/reactos?rev=26128&view=rev
Log:
Fix warnings

Modified:
    trunk/reactos/drivers/input/kbdclass/kbdclass.c
    trunk/reactos/drivers/input/kbdclass/kbdclass.h
    trunk/reactos/drivers/input/kbdclass/kbdclass.rbuild
    trunk/reactos/drivers/input/kbdclass/misc.c
    trunk/reactos/drivers/input/mouclass/misc.c
    trunk/reactos/drivers/input/mouclass/mouclass.c
    trunk/reactos/drivers/input/mouclass/mouclass.h
    trunk/reactos/drivers/input/mouclass/mouclass.rbuild
    trunk/reactos/drivers/input/sermouse/createclose.c
    trunk/reactos/drivers/input/sermouse/detect.c
    trunk/reactos/drivers/input/sermouse/fdo.c
    trunk/reactos/drivers/input/sermouse/internaldevctl.c
    trunk/reactos/drivers/input/sermouse/misc.c
    trunk/reactos/drivers/input/sermouse/readmouse.c
    trunk/reactos/drivers/input/sermouse/sermouse.c
    trunk/reactos/drivers/input/sermouse/sermouse.h

Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/kbdclass.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/kbdclass/kbdclass.c (original)
+++ trunk/reactos/drivers/input/kbdclass/kbdclass.c Sun Mar 18 03:27:02 2007
@@ -6,9 +6,6 @@
  * 
  * PROGRAMMERS:     Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #define INITGUID
 #include "kbdclass.h"
@@ -328,7 +325,7 @@
 	DeviceIdW = &DeviceNameU.Buffer[PrefixLength / sizeof(WCHAR)];
 	while (DeviceId < 9999)
 	{
-		DeviceNameU.Length = PrefixLength + swprintf(DeviceIdW, L"%lu", DeviceId) * sizeof(WCHAR);
+		DeviceNameU.Length = (USHORT)(PrefixLength + swprintf(DeviceIdW, L"%lu", DeviceId) * sizeof(WCHAR));
 		Status = IoCreateDevice(
 			DriverObject,
 			sizeof(CLASS_DEVICE_EXTENSION),
@@ -438,7 +435,7 @@
 	return Status;
 }
 
-static BOOLEAN CALLBACK
+static BOOLEAN NTAPI
 ClassCallback(
 	IN PDEVICE_OBJECT ClassDeviceObject,
 	IN OUT PKEYBOARD_INPUT_DATA DataStart,
@@ -448,8 +445,8 @@
 	PCLASS_DEVICE_EXTENSION ClassDeviceExtension = ClassDeviceObject->DeviceExtension;
 	PIRP Irp = NULL;
 	KIRQL OldIrql;
-	ULONG InputCount = DataEnd - DataStart;
-	ULONG ReadSize;
+	SIZE_T InputCount = DataEnd - DataStart;
+	SIZE_T ReadSize;
 
 	ASSERT(ClassDeviceExtension->Common.IsClassDO);
 
@@ -489,7 +486,7 @@
 
 			/* Skip the packet we just sent away */
 			DataStart += NumberOfEntries;
-			(*ConsumedCount) += NumberOfEntries;
+			(*ConsumedCount) += (ULONG)NumberOfEntries;
 			InputCount -= NumberOfEntries;
 		}
 	}
@@ -520,7 +517,7 @@
 		/* Move the counter up */
 		ClassDeviceExtension->InputCount += ReadSize;
 
-		(*ConsumedCount) += ReadSize;
+		(*ConsumedCount) += (ULONG)ReadSize;
 	}
 	else
 	{
@@ -827,13 +824,13 @@
 	DriverExtension = (PCLASS_DRIVER_EXTENSION)Context;
 
 	/* Create port base name, by replacing Class by Port at the end of the class base name */
-	Status = RtlDuplicateUnicodeString(
+	Status = DuplicateUnicodeString(
 		RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
 		&DriverExtension->DeviceBaseName,
 		&PortBaseName);
 	if (!NT_SUCCESS(Status))
 	{
-		DPRINT("RtlDuplicateUnicodeString() failed with status 0x%08lx\n", Status);
+		DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status);
 		goto cleanup;
 	}
 	PortBaseName.Length -= (sizeof(L"Class") - sizeof(UNICODE_NULL));
@@ -886,7 +883,7 @@
 		PDEVICE_OBJECT PortDeviceObject = NULL;
 		PFILE_OBJECT FileObject = NULL;
 
-		PortName.Length = PortName.MaximumLength = KeyValueInformation->NameLength;
+		PortName.Length = PortName.MaximumLength = (USHORT)KeyValueInformation->NameLength;
 		PortName.Buffer = KeyValueInformation->Name;
 
 		/* Open the device object pointer */
@@ -939,13 +936,13 @@
 	}
 	RtlZeroMemory(DriverExtension, sizeof(CLASS_DRIVER_EXTENSION));
 
-	Status = RtlDuplicateUnicodeString(
+	Status = DuplicateUnicodeString(
 		RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
 		RegistryPath,
 		&DriverExtension->RegistryPath);
 	if (!NT_SUCCESS(Status))
 	{
-		DPRINT("RtlDuplicateUnicodeString() failed with status 0x%08lx\n", Status);
+		DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status);
 		return Status;
 	}
 

Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/kbdclass.h?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/kbdclass/kbdclass.h (original)
+++ trunk/reactos/drivers/input/kbdclass/kbdclass.h Sun Mar 18 03:27:02 2007
@@ -1,8 +1,23 @@
 #include <ntifs.h>
 #include <kbdmou.h>
 #include <ntddkbd.h>
-#include <pseh/pseh.h>
 #include <stdio.h>
+
+#if defined(__GNUC__)
+  #include <pseh/pseh.h>
+  #include <debug.h>
+#elif defined(_MSC_VER)
+  #define DPRINT1 DbgPrint("(%s:%d) ", __FILE__, __LINE__), DbgPrint
+  #define CHECKPOINT1 DbgPrint("(%s:%d)\n", __FILE__, __LINE__)
+  #define DPRINT
+  #define CHECKPOINT
+  #define _SEH_TRY __try
+  #define _SEH_HANDLE __except(1)
+  #define _SEH_END
+  #define _SEH_GetExceptionCode() GetExceptionCode()
+#else
+  #error Unknown compiler!
+#endif
 
 #define MAX_PATH 260
 
@@ -56,7 +71,7 @@
 	KSPIN_LOCK ListSpinLock;
 	KSPIN_LOCK SpinLock;
 	BOOLEAN ReadIsPending;
-	ULONG InputCount;
+	SIZE_T InputCount;
 	PKEYBOARD_INPUT_DATA PortData;
 	LPCWSTR DeviceName;
 } CLASS_DEVICE_EXTENSION, *PCLASS_DEVICE_EXTENSION;
@@ -72,3 +87,9 @@
 ForwardIrpAndForget(
 	IN PDEVICE_OBJECT DeviceObject,
 	IN PIRP Irp);
+
+NTSTATUS
+DuplicateUnicodeString(
+	IN ULONG Flags,
+	IN PCUNICODE_STRING SourceString,
+	OUT PUNICODE_STRING DestinationString);

Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/kbdclass.rbuild?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/kbdclass/kbdclass.rbuild (original)
+++ trunk/reactos/drivers/input/kbdclass/kbdclass.rbuild Sun Mar 18 03:27:02 2007
@@ -1,6 +1,7 @@
 <module name="kbdclass" type="kernelmodedriver" installbase="system32/drivers" installname="kbdclass.sys">
 	<bootstrap base="reactos" />
 	<define name="__USE_W32API" />
+	<define name="NDEBUG" />
 	<library>pseh</library>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: trunk/reactos/drivers/input/kbdclass/misc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/misc.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/kbdclass/misc.c (original)
+++ trunk/reactos/drivers/input/kbdclass/misc.c Sun Mar 18 03:27:02 2007
@@ -6,9 +6,6 @@
  * 
  * PROGRAMMERS:     Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "kbdclass.h"
 
@@ -65,3 +62,48 @@
 	IoSkipCurrentIrpStackLocation(Irp);
 	return IoCallDriver(LowerDevice, Irp);
 }
+
+NTSTATUS
+DuplicateUnicodeString(
+	IN ULONG Flags,
+	IN PCUNICODE_STRING SourceString,
+	OUT PUNICODE_STRING DestinationString)
+{
+	if (SourceString == NULL || DestinationString == NULL
+	 || SourceString->Length > SourceString->MaximumLength
+	 || (SourceString->Length == 0 && SourceString->MaximumLength > 0 && SourceString->Buffer == NULL)
+	 || Flags == RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING || Flags >= 4)
+	{
+		return STATUS_INVALID_PARAMETER;
+	}
+
+
+	if ((SourceString->Length == 0)
+	 && (Flags != (RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE | 
+	               RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING)))
+	{
+		DestinationString->Length = 0;
+		DestinationString->MaximumLength = 0;
+		DestinationString->Buffer = NULL;
+	}
+	else
+	{
+		USHORT DestMaxLength = SourceString->Length;
+
+		if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
+			DestMaxLength += sizeof(UNICODE_NULL);
+
+		DestinationString->Buffer = ExAllocatePool(PagedPool, DestMaxLength);
+		if (DestinationString->Buffer == NULL)
+			return STATUS_NO_MEMORY;
+
+		RtlCopyMemory(DestinationString->Buffer, SourceString->Buffer, SourceString->Length);
+		DestinationString->Length = SourceString->Length;
+		DestinationString->MaximumLength = DestMaxLength;
+
+		if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
+			DestinationString->Buffer[DestinationString->Length / sizeof(WCHAR)] = 0;
+	}
+
+	return STATUS_SUCCESS;
+}

Modified: trunk/reactos/drivers/input/mouclass/misc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/mouclass/misc.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/mouclass/misc.c (original)
+++ trunk/reactos/drivers/input/mouclass/misc.c Sun Mar 18 03:27:02 2007
@@ -6,9 +6,6 @@
  * 
  * PROGRAMMERS:     Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "mouclass.h"
 
@@ -65,3 +62,48 @@
 	IoSkipCurrentIrpStackLocation(Irp);
 	return IoCallDriver(LowerDevice, Irp);
 }
+
+NTSTATUS
+DuplicateUnicodeString(
+	IN ULONG Flags,
+	IN PCUNICODE_STRING SourceString,
+	OUT PUNICODE_STRING DestinationString)
+{
+	if (SourceString == NULL || DestinationString == NULL
+	 || SourceString->Length > SourceString->MaximumLength
+	 || (SourceString->Length == 0 && SourceString->MaximumLength > 0 && SourceString->Buffer == NULL)
+	 || Flags == RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING || Flags >= 4)
+	{
+		return STATUS_INVALID_PARAMETER;
+	}
+
+
+	if ((SourceString->Length == 0)
+	 && (Flags != (RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE | 
+	               RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING)))
+	{
+		DestinationString->Length = 0;
+		DestinationString->MaximumLength = 0;
+		DestinationString->Buffer = NULL;
+	}
+	else
+	{
+		USHORT DestMaxLength = SourceString->Length;
+
+		if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
+			DestMaxLength += sizeof(UNICODE_NULL);
+
+		DestinationString->Buffer = ExAllocatePool(PagedPool, DestMaxLength);
+		if (DestinationString->Buffer == NULL)
+			return STATUS_NO_MEMORY;
+
+		RtlCopyMemory(DestinationString->Buffer, SourceString->Buffer, SourceString->Length);
+		DestinationString->Length = SourceString->Length;
+		DestinationString->MaximumLength = DestMaxLength;
+
+		if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
+			DestinationString->Buffer[DestinationString->Length / sizeof(WCHAR)] = 0;
+	}
+
+	return STATUS_SUCCESS;
+}

Modified: trunk/reactos/drivers/input/mouclass/mouclass.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/mouclass/mouclass.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/mouclass/mouclass.c (original)
+++ trunk/reactos/drivers/input/mouclass/mouclass.c Sun Mar 18 03:27:02 2007
@@ -6,9 +6,6 @@
  * 
  * PROGRAMMERS:     Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #define INITGUID
 #include "mouclass.h"
@@ -305,7 +302,7 @@
 	DeviceIdW = &DeviceNameU.Buffer[PrefixLength / sizeof(WCHAR)];
 	while (DeviceId < 9999)
 	{
-		DeviceNameU.Length = PrefixLength + swprintf(DeviceIdW, L"%lu", DeviceId) * sizeof(WCHAR);
+		DeviceNameU.Length = (USHORT)(PrefixLength + swprintf(DeviceIdW, L"%lu", DeviceId) * sizeof(WCHAR));
 		Status = IoCreateDevice(
 			DriverObject,
 			sizeof(CLASS_DEVICE_EXTENSION),
@@ -414,7 +411,7 @@
 	return Status;
 }
 
-static BOOLEAN CALLBACK
+static BOOLEAN NTAPI
 ClassCallback(
 	IN PDEVICE_OBJECT ClassDeviceObject,
 	IN OUT PMOUSE_INPUT_DATA DataStart,
@@ -424,8 +421,8 @@
 	PCLASS_DEVICE_EXTENSION ClassDeviceExtension = ClassDeviceObject->DeviceExtension;
 	PIRP Irp = NULL;
 	KIRQL OldIrql;
-	ULONG InputCount = DataEnd - DataStart;
-	ULONG ReadSize;
+	SIZE_T InputCount = DataEnd - DataStart;
+	SIZE_T ReadSize;
 
 	ASSERT(ClassDeviceExtension->Common.IsClassDO);
 
@@ -465,7 +462,7 @@
 
 			/* Skip the packet we just sent away */
 			DataStart += NumberOfEntries;
-			(*ConsumedCount) += NumberOfEntries;
+			(*ConsumedCount) += (ULONG)NumberOfEntries;
 			InputCount -= NumberOfEntries;
 		}
 	}
@@ -496,7 +493,7 @@
 		/* Move the counter up */
 		ClassDeviceExtension->InputCount += ReadSize;
 
-		(*ConsumedCount) += ReadSize;
+		(*ConsumedCount) += (ULONG)ReadSize;
 	}
 	else
 	{
@@ -803,13 +800,13 @@
 	DriverExtension = (PCLASS_DRIVER_EXTENSION)Context;
 
 	/* Create port base name, by replacing Class by Port at the end of the class base name */
-	Status = RtlDuplicateUnicodeString(
+	Status = DuplicateUnicodeString(
 		RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
 		&DriverExtension->DeviceBaseName,
 		&PortBaseName);
 	if (!NT_SUCCESS(Status))
 	{
-		DPRINT("RtlDuplicateUnicodeString() failed with status 0x%08lx\n", Status);
+		DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status);
 		goto cleanup;
 	}
 	PortBaseName.Length -= (sizeof(L"Class") - sizeof(UNICODE_NULL));
@@ -862,7 +859,7 @@
 		PDEVICE_OBJECT PortDeviceObject = NULL;
 		PFILE_OBJECT FileObject = NULL;
 
-		PortName.Length = PortName.MaximumLength = KeyValueInformation->NameLength;
+		PortName.Length = PortName.MaximumLength = (USHORT)KeyValueInformation->NameLength;
 		PortName.Buffer = KeyValueInformation->Name;
 
 		/* Open the device object pointer */
@@ -915,13 +912,13 @@
 	}
 	RtlZeroMemory(DriverExtension, sizeof(CLASS_DRIVER_EXTENSION));
 
-	Status = RtlDuplicateUnicodeString(
+	Status = DuplicateUnicodeString(
 		RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
 		RegistryPath,
 		&DriverExtension->RegistryPath);
 	if (!NT_SUCCESS(Status))
 	{
-		DPRINT("RtlDuplicateUnicodeString() failed with status 0x%08lx\n", Status);
+		DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status);
 		return Status;
 	}
 

Modified: trunk/reactos/drivers/input/mouclass/mouclass.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/mouclass/mouclass.h?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/mouclass/mouclass.h (original)
+++ trunk/reactos/drivers/input/mouclass/mouclass.h Sun Mar 18 03:27:02 2007
@@ -1,8 +1,23 @@
 #include <ntifs.h>
 #include <kbdmou.h>
-#include <ntddmou.h>
-#include <pseh/pseh.h>
+#include <ntddkbd.h>
 #include <stdio.h>
+
+#if defined(__GNUC__)
+  #include <pseh/pseh.h>
+  #include <debug.h>
+#elif defined(_MSC_VER)
+  #define DPRINT1 DbgPrint("(%s:%d) ", __FILE__, __LINE__), DbgPrint
+  #define CHECKPOINT1 DbgPrint("(%s:%d)\n", __FILE__, __LINE__)
+  #define DPRINT
+  #define CHECKPOINT
+  #define _SEH_TRY __try
+  #define _SEH_HANDLE __except(1)
+  #define _SEH_END
+  #define _SEH_GetExceptionCode() GetExceptionCode()
+#else
+  #error Unknown compiler!
+#endif
 
 #define MAX_PATH 260
 
@@ -56,7 +71,7 @@
 	KSPIN_LOCK ListSpinLock;
 	KSPIN_LOCK SpinLock;
 	BOOLEAN ReadIsPending;
-	ULONG InputCount;
+	SIZE_T InputCount;
 	PMOUSE_INPUT_DATA PortData;
 	LPCWSTR DeviceName;
 } CLASS_DEVICE_EXTENSION, *PCLASS_DEVICE_EXTENSION;
@@ -72,3 +87,9 @@
 ForwardIrpAndForget(
 	IN PDEVICE_OBJECT DeviceObject,
 	IN PIRP Irp);
+
+NTSTATUS
+DuplicateUnicodeString(
+	IN ULONG Flags,
+	IN PCUNICODE_STRING SourceString,
+	OUT PUNICODE_STRING DestinationString);

Modified: trunk/reactos/drivers/input/mouclass/mouclass.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/mouclass/mouclass.rbuild?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/mouclass/mouclass.rbuild (original)
+++ trunk/reactos/drivers/input/mouclass/mouclass.rbuild Sun Mar 18 03:27:02 2007
@@ -1,6 +1,7 @@
 <module name="mouclass" type="kernelmodedriver" installbase="system32/drivers" installname="mouclass.sys">
 	<include base="mouclass">.</include>
 	<define name="__USE_W32API" />
+	<define name="NDEBUG" />
 	<library>pseh</library>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: trunk/reactos/drivers/input/sermouse/createclose.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/createclose.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/createclose.c (original)
+++ trunk/reactos/drivers/input/sermouse/createclose.c Sun Mar 18 03:27:02 2007
@@ -5,9 +5,6 @@
  * PURPOSE:     IRP_MJ_CREATE and IRP_MJ_CLOSE operations
  * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "sermouse.h"
 

Modified: trunk/reactos/drivers/input/sermouse/detect.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/detect.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/detect.c (original)
+++ trunk/reactos/drivers/input/sermouse/detect.c Sun Mar 18 03:27:02 2007
@@ -8,9 +8,6 @@
                 Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
 
-#define NDEBUG
-#include <debug.h>
-
 #include "sermouse.h"
 
 /* Most of this file is ripped from reactos/drivers/bus/serenum/detect.c */
@@ -20,9 +17,9 @@
 	IN PDEVICE_OBJECT DeviceObject,
 	IN ULONG CtlCode,
 	IN PVOID InputBuffer OPTIONAL,
-	IN ULONG_PTR InputBufferSize,
+	IN SIZE_T InputBufferSize,
 	IN OUT PVOID OutputBuffer OPTIONAL,
-	IN OUT PULONG_PTR OutputBufferSize)
+	IN OUT PSIZE_T OutputBufferSize)
 {
 	KEVENT Event;
 	PIRP Irp;
@@ -34,9 +31,9 @@
 	Irp = IoBuildDeviceIoControlRequest(CtlCode,
 		DeviceObject,
 		InputBuffer,
-		InputBufferSize,
+		(ULONG)InputBufferSize,
 		OutputBuffer,
-		(OutputBufferSize) ? *OutputBufferSize : 0,
+		(OutputBufferSize) ? (ULONG)*OutputBufferSize : 0,
 		FALSE,
 		&Event,
 		&IoStatus);
@@ -57,7 +54,7 @@
 
 	if (OutputBufferSize)
 	{
-		*OutputBufferSize = IoStatus.Information;
+		*OutputBufferSize = (SIZE_T)IoStatus.Information;
 	}
 
 	return Status;

Modified: trunk/reactos/drivers/input/sermouse/fdo.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/fdo.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/fdo.c (original)
+++ trunk/reactos/drivers/input/sermouse/fdo.c Sun Mar 18 03:27:02 2007
@@ -5,9 +5,6 @@
  * PURPOSE:     IRP_MJ_PNP operations for FDOs
  * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "sermouse.h"
 

Modified: trunk/reactos/drivers/input/sermouse/internaldevctl.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/internaldevctl.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/internaldevctl.c (original)
+++ trunk/reactos/drivers/input/sermouse/internaldevctl.c Sun Mar 18 03:27:02 2007
@@ -5,9 +5,6 @@
  * PURPOSE:     IRP_MJ_INTERNAL_DEVICE_CONTROL operations
  * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "sermouse.h"
 

Modified: trunk/reactos/drivers/input/sermouse/misc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/misc.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/misc.c (original)
+++ trunk/reactos/drivers/input/sermouse/misc.c Sun Mar 18 03:27:02 2007
@@ -6,10 +6,9 @@
  * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
 
-#define NDEBUG
-#include <debug.h>
+#include "sermouse.h"
 
-#include "sermouse.h"
+static IO_COMPLETION_ROUTINE ForwardIrpAndWaitCompletion;
 
 static NTSTATUS NTAPI
 ForwardIrpAndWaitCompletion(
@@ -34,7 +33,7 @@
 	KeInitializeEvent(&Event, NotificationEvent, FALSE);
 	IoCopyCurrentIrpStackLocationToNext(Irp);
 
-	DPRINT("Calling lower device %p [%wZ]\n", LowerDevice, &LowerDevice->DriverObject->DriverName);
+	DPRINT("Calling lower device %p\n", LowerDevice);
 	IoSetCompletionRoutine(Irp, ForwardIrpAndWaitCompletion, &Event, TRUE, TRUE, TRUE);
 
 	Status = IoCallDriver(LowerDevice, Irp);

Modified: trunk/reactos/drivers/input/sermouse/readmouse.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/readmouse.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/readmouse.c (original)
+++ trunk/reactos/drivers/input/sermouse/readmouse.c Sun Mar 18 03:27:02 2007
@@ -7,9 +7,6 @@
                 Copyright Filip Navara (xnavara at volny.cz)
                 Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
-
-#define NDEBUG
-#include <debug.h>
 
 #include "sermouse.h"
 
@@ -55,7 +52,7 @@
 
 	if (OutputBufferSize)
 	{
-		*OutputBufferSize = IoStatus.Information;
+		*OutputBufferSize = (ULONG)IoStatus.Information;
 	}
 
 	return Status;
@@ -126,6 +123,7 @@
 	if (!NT_SUCCESS(Status)) PsTerminateSystemThread(Status);
 
 	/* main read loop */
+	RtlZeroMemory(Buffer, PACKET_BUFFER_SIZE);
 	while (TRUE)
 	{
 		Status = KeWaitForSingleObject(

Modified: trunk/reactos/drivers/input/sermouse/sermouse.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/sermouse.c?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/sermouse.c (original)
+++ trunk/reactos/drivers/input/sermouse/sermouse.c Sun Mar 18 03:27:02 2007
@@ -6,19 +6,20 @@
  * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin at reactos.org)
  */
 
-#define NDEBUG
-#include <debug.h>
-
 #define INITGUID
 #include "sermouse.h"
 
-VOID NTAPI
+static DRIVER_UNLOAD DriverUnload;
+static DRIVER_DISPATCH IrpStub;
+DRIVER_INITIALIZE DriverEntry;
+
+static VOID NTAPI
 DriverUnload(IN PDRIVER_OBJECT DriverObject)
 {
 	// nothing to do here yet
 }
 
-NTSTATUS NTAPI
+static NTSTATUS NTAPI
 IrpStub(
 	IN PDEVICE_OBJECT DeviceObject,
 	IN PIRP Irp)
@@ -75,10 +76,11 @@
 	else if (Status == STATUS_OBJECT_NAME_NOT_FOUND)
 	{
 		/* Registry path doesn't exist. Set defaults */
-		DriverExtension->NumberOfButtons = DefaultNumberOfButtons;
+		DriverExtension->NumberOfButtons = (USHORT)DefaultNumberOfButtons;
 		Status = STATUS_SUCCESS;
 	}
 
+	ExFreePool(ParametersRegistryKey.Buffer);
 	return Status;
 }
 

Modified: trunk/reactos/drivers/input/sermouse/sermouse.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/sermouse/sermouse.h?rev=26128&r1=26127&r2=26128&view=diff
==============================================================================
--- trunk/reactos/drivers/input/sermouse/sermouse.h (original)
+++ trunk/reactos/drivers/input/sermouse/sermouse.h Sun Mar 18 03:27:02 2007
@@ -3,13 +3,15 @@
 #include <ntddser.h>
 #include <ntddmou.h>
 
-#if defined(_MSC_VER)
-  /* Missing prototype */
-  NTSTATUS NTAPI
-  IoAttachDeviceToDeviceStackSafe(
-    IN PDEVICE_OBJECT SourceDevice,
-    IN PDEVICE_OBJECT TargetDevice,
-    OUT PDEVICE_OBJECT *AttachedToDeviceObject);
+#if defined(__GNUC__)
+  #include <debug.h>
+#elif defined(_MSC_VER)
+  #define DPRINT1 DbgPrint("(%s:%d) ", __FILE__, __LINE__), DbgPrint
+  #define CHECKPOINT1 DbgPrint("(%s:%d)\n", __FILE__, __LINE__)
+  #define DPRINT
+  #define CHECKPOINT
+#else
+  #error Unknown compiler!
 #endif
 
 typedef enum
@@ -79,20 +81,11 @@
 
 /************************************ createclose.c */
 
-NTSTATUS NTAPI
-SermouseCreate(
-	IN PDEVICE_OBJECT DeviceObject,
-	IN PIRP Irp);
+DRIVER_DISPATCH SermouseCreate;
 
-NTSTATUS NTAPI
-SermouseClose(
-	IN PDEVICE_OBJECT DeviceObject,
-	IN PIRP Irp);
+DRIVER_DISPATCH SermouseClose;
 
-NTSTATUS NTAPI
-SermouseCleanup(
-	IN PDEVICE_OBJECT DeviceObject,
-	IN PIRP Irp);
+DRIVER_DISPATCH SermouseCleanup;
 
 /************************************ detect.c */
 
@@ -102,22 +95,13 @@
 
 /************************************ fdo.c */
 
-NTSTATUS NTAPI
-SermouseAddDevice(
-	IN PDRIVER_OBJECT DriverObject,
-	IN PDEVICE_OBJECT Pdo);
+DRIVER_ADD_DEVICE SermouseAddDevice;
 
-NTSTATUS NTAPI
-SermousePnp(
-	IN PDEVICE_OBJECT DeviceObject,
-	IN PIRP Irp);
+DRIVER_DISPATCH SermousePnp;
 
 /************************************ internaldevctl.c */
 
-NTSTATUS NTAPI
-SermouseInternalDeviceControl(
-	IN PDEVICE_OBJECT DeviceObject,
-	IN PIRP Irp);
+DRIVER_DISPATCH SermouseInternalDeviceControl;
 
 /************************************ misc.c */
 




More information about the Ros-diffs mailing list