* PROJECT: ReactOS kernel-mode tests
* LICENSE: GPLv2+ - See COPYING in the top level directory
* PURPOSE: Kernel-Mode Test Suite Runtime library memory functions test
- * PROGRAMMER: Thomas Faber <thfabba@gmx.de>
+ * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
*/
#include <stddef.h>
IN const VOID *Buffer,
...)
{
- PCUCHAR OutBuffer = Buffer;
+ CONST UCHAR *OutBuffer = Buffer;
INT Count;
INT Value;
va_list Arguments;
if (*OutBuffer++ != Value)
{
--OutBuffer;
- trace("CheckBuffer failed at offset %d, value %x, expected %x\n", OutBuffer - (PCUCHAR)Buffer, *OutBuffer, Value);
+ trace("CheckBuffer failed at offset %d, value %x, expected %x\n", OutBuffer - (CONST UCHAR*)Buffer, *OutBuffer, Value);
return FALSE;
}
}
IN const VOID *Buffer,
...)
{
- PCUCHAR OutBuffer = Buffer;
+ CONST UCHAR *OutBuffer = Buffer;
INT Count, Repeat, i;
INT Values[16];
va_list Arguments;
if (*OutBuffer++ != Values[i])
{
--OutBuffer;
- trace("CheckPattern failed at offset %d, value %x, expected %x\n", OutBuffer - (PCUCHAR)Buffer, *OutBuffer, Values[i]);
+ trace("CheckPattern failed at offset %d, value %x, expected %x\n", OutBuffer - (CONST UCHAR*)Buffer, *OutBuffer, Values[i]);
return FALSE;
}
}
KeRaiseIrql(HIGH_LEVEL, &Irql);
/* RtlEqualMemory */
- /* TODO: where is memcmp? */
+ MakePattern(Buffer, 8, HalfSize / 8 - 1, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0,
+ 1, 1, 0x12,
+ 8, HalfSize / 8, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0,
+ 1, 7, 0x12, 0);
+
+ ok_bool_true(RtlEqualMemory((PVOID)1, (PVOID)2, 0),
+ "RtlEqualMemory returned");
+ ok_bool_true(RtlEqualMemory(Buffer, Buffer + HalfSize - 7, HalfSize - 8),
+ "RtlEqualMemory returned");
+ ok_bool_true(RtlEqualMemory(Buffer, Buffer + HalfSize - 7, HalfSize - 8 + 1),
+ "RtlEqualMemory returned");
+ ok_bool_false(RtlEqualMemory(Buffer, Buffer + HalfSize - 7, HalfSize - 8 + 2),
+ "RtlEqualMemory returned");
/* RtlCompareMemory */
MakePattern(Buffer, 8, HalfSize / 8 - 1, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0,
KeRaiseIrql(HIGH_LEVEL, &Irql);
/* RtlCompareMemoryUlong */
- MakeBuffer(Buffer, 8, 0x55, Size - 4, 0, 0);
+ MakeBuffer(Buffer, 8, 0x55, Size - 8, 0, 0);
RetSize = RtlCompareMemoryUlong(Buffer, sizeof(ULONG), 0x55555555LU);
ok_eq_size(RetSize, 4);
RetSize = RtlCompareMemoryUlong(Buffer + 1, sizeof(ULONG), 0x55555555LU);
KeLowerIrql(Irql);
Status = STATUS_SUCCESS;
_SEH2_TRY {
+#if defined(__GNUC__) && __GNUC__ >= 5
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmemset-transposed-args"
+#endif
RtlFillMemory(NULL, 0, 0x55);
+#if defined(__GNUC__) && __GNUC__ >= 5
+#pragma GCC diagnostic pop
+#endif
} _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) {
Status = _SEH2_GetExceptionCode();
} _SEH2_END;