Fix build of dlls/ole32/tests/clipboard.c on FreeBSD
Gerald Pfeifer
gerald at pfeifer.com
Sat Apr 18 12:42:16 CDT 2009
On FreeBSD 7.1 devname is a function in libc, and according to the
documentation this function "appeared in 4.4BSD". The best fix is
to rename the varabile devname to something else; devnam in my patch
below (but I'm open for other suggestions).
Gerald
ChangeLog:
Rename devname to devnam to avoid conflict with BSD function.
diff --git a/dlls/ole32/tests/clipboard.c b/dlls/ole32/tests/clipboard.c
index ed47c8b..57bbea5 100644
--- a/dlls/ole32/tests/clipboard.c
+++ b/dlls/ole32/tests/clipboard.c
@@ -387,7 +387,7 @@ static HRESULT DataObjectImpl_CreateText(LPCSTR text, LPDATAOBJECT *lplpdataobj)
const char *cmpl_stm_data = "complex stream";
const char *cmpl_text_data = "complex text";
-const WCHAR devname[] = {'m','y','d','e','v',0};
+const WCHAR devnam[] = {'m','y','d','e','v',0};
static HRESULT DataObjectImpl_CreateComplex(LPDATAOBJECT *lplpdataobj)
{
@@ -418,15 +418,15 @@ static HRESULT DataObjectImpl_CreateComplex(LPDATAOBJECT *lplpdataobj)
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
dm.dmDriverExtra = 0;
- lstrcpyW(dm.dmDeviceName, devname);
- obj->fmtetc[3].ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devname) + dm.dmSize + dm.dmDriverExtra);
- obj->fmtetc[3].ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devname) + dm.dmSize + dm.dmDriverExtra;
+ lstrcpyW(dm.dmDeviceName, devnam);
+ obj->fmtetc[3].ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devnam) + dm.dmSize + dm.dmDriverExtra);
+ obj->fmtetc[3].ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devnam) + dm.dmSize + dm.dmDriverExtra;
obj->fmtetc[3].ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData);
obj->fmtetc[3].ptd->tdDeviceNameOffset = 0;
obj->fmtetc[3].ptd->tdPortNameOffset = 0;
- obj->fmtetc[3].ptd->tdExtDevmodeOffset = obj->fmtetc[3].ptd->tdDriverNameOffset + sizeof(devname);
- lstrcpyW((WCHAR*)obj->fmtetc[3].ptd->tdData, devname);
- memcpy(obj->fmtetc[3].ptd->tdData + sizeof(devname), &dm, dm.dmSize + dm.dmDriverExtra);
+ obj->fmtetc[3].ptd->tdExtDevmodeOffset = obj->fmtetc[3].ptd->tdDriverNameOffset + sizeof(devnam);
+ lstrcpyW((WCHAR*)obj->fmtetc[3].ptd->tdData, devnam);
+ memcpy(obj->fmtetc[3].ptd->tdData + sizeof(devnam), &dm, dm.dmSize + dm.dmDriverExtra);
InitFormatEtc(obj->fmtetc[4], cf_global, TYMED_HGLOBAL);
InitFormatEtc(obj->fmtetc[5], cf_another, TYMED_HGLOBAL);
@@ -1124,15 +1124,15 @@ static void test_flushed_getdata(void)
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
dm.dmDriverExtra = 0;
- lstrcpyW(dm.dmDeviceName, devname);
- fmt.ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devname) + dm.dmSize + dm.dmDriverExtra);
- fmt.ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devname) + dm.dmSize + dm.dmDriverExtra;
+ lstrcpyW(dm.dmDeviceName, devnam);
+ fmt.ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devnam) + dm.dmSize + dm.dmDriverExtra);
+ fmt.ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(devnam) + dm.dmSize + dm.dmDriverExtra;
fmt.ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData);
fmt.ptd->tdDeviceNameOffset = 0;
fmt.ptd->tdPortNameOffset = 0;
- fmt.ptd->tdExtDevmodeOffset = fmt.ptd->tdDriverNameOffset + sizeof(devname);
- lstrcpyW((WCHAR*)fmt.ptd->tdData, devname);
- memcpy(fmt.ptd->tdData + sizeof(devname), &dm, dm.dmSize + dm.dmDriverExtra);
+ fmt.ptd->tdExtDevmodeOffset = fmt.ptd->tdDriverNameOffset + sizeof(devnam);
+ lstrcpyW((WCHAR*)fmt.ptd->tdData, devnam);
+ memcpy(fmt.ptd->tdData + sizeof(devnam), &dm, dm.dmSize + dm.dmDriverExtra);
hr = IDataObject_GetData(get, &fmt, &med);
ok(hr == S_OK, "got %08x\n", hr);
More information about the wine-patches
mailing list