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