2020-09-30 17:12:29 +02:00

45 lines
850 B
C

__inline LPVOID QVMakeQGB(DWORD val, LPVOID pv) {
ASSERT(val < 0x80000000L);
if (val < 0x8000) {
WORD FAR* pw = (WORD FAR*) pv;
*pw = (WORD) val << 1;
return pw + 1;
}
else {
DWORD FAR* pw = (DWORD FAR*) pv;
*pw = (val << 1) | 1L;
return pw + 1;
}
};
__inline void* PVMakeQGB(DWORD val, void* pv) {
ASSERT(val < 0x80000000L);
if (val < 0x8000) {
WORD* pw = (WORD*) pv;
*pw = (WORD) val << 1;
return pw + 1;
}
else {
DWORD* pw = (DWORD*) pv;
*pw = (val << 1) | 1L;
return pw + 1;
}
};
__inline void* PVMakeQGA(WORD val, void* pv) {
ASSERT(val < 0x8000);
if (val < 0x80) {
BYTE* pw = (BYTE*) pv;
*pw = (BYTE) val << 1;
return pw + 1;
}
else {
WORD* pw = (WORD*) pv;
*pw = (val << 1) | 1;
return pw + 1;
}
};
#define PfromPcb(pv, cb) ((void*) (((BYTE*) pv) + cb))