typedef struct
{
- DWORD used;
- DWORD data[dwBlockSize-sizeof(DWORD)];
+ BOOL used;
+ BYTE data[dwBlockSize - sizeof(BOOL)];
} DPLAYX_MEM_SLICE;
+C_ASSERT(sizeof(DPLAYX_MEM_SLICE) == dwBlockSize);
static DPLAYX_MEM_SLICE* lpMemArea;
return;
}
- lpAddrStart = (char*)addr - sizeof(DWORD); /* Find block header */
+ lpAddrStart = CONTAINING_RECORD(addr, DPLAYX_MEM_SLICE, data); /* Find block header */
dwBlockUsed = ((BYTE*)lpAddrStart - (BYTE*)lpMemArea)/dwBlockSize;
- lpMemArea[ dwBlockUsed ].used = 0;
+ lpMemArea[ dwBlockUsed ].used = FALSE;
}
static LPVOID DPLAYX_PrivHeapAlloc( DWORD flags, DWORD size )
LPVOID lpvArea = NULL;
UINT uBlockUsed;
- if( size > (dwBlockSize - sizeof(DWORD)) )
+ if( size > (dwBlockSize - sizeof(BOOL)) )
{
FIXME( "Size exceeded. Request of 0x%08x\n", size );
- size = dwBlockSize - sizeof(DWORD);
+ size = dwBlockSize - sizeof(BOOL);
}
/* Find blank area */
uBlockUsed = 0;
- while( ( lpMemArea[ uBlockUsed ].used != 0 ) && ( uBlockUsed <= dwMaxBlock ) ) { uBlockUsed++; }
+ while( lpMemArea[ uBlockUsed ].used && uBlockUsed <= dwMaxBlock ) { uBlockUsed++; }
if( uBlockUsed <= dwMaxBlock )
{
/* Set the area used */
- lpMemArea[ uBlockUsed ].used = 1;
+ lpMemArea[ uBlockUsed ].used = TRUE;
lpvArea = lpMemArea[ uBlockUsed ].data;
}
else
/* For errors not in the list, return HRESULT as a string
This part is not thread safe */
WARN( "Unknown error 0x%08x\n", hr );
- wsprintfA( szTempStr, "0x%08lx", hr );
+ wsprintfA( szTempStr, "0x%08x", hr );
return szTempStr;
}
}