mshtml: Assign to structs instead of using memcpy

Andrew Talbot andrew.talbot at talbotville.com
Wed Mar 5 15:35:16 CST 2008


I presume that in conpoint.c I am discovering the so-called stuct hack in
action, seeing that an IID type ends in an array of incomplete type.
I presume, also, that the code is copying the head of this struct and that my
replacement code is correct, but please disabuse me if I am wrong.

Thanks,

-- Andy.
---
Changelog:
    mshtml: Assign to structs instead of using memcpy.

diff --git a/dlls/mshtml/conpoint.c b/dlls/mshtml/conpoint.c
index cad4877..85cf8dc 100644
--- a/dlls/mshtml/conpoint.c
+++ b/dlls/mshtml/conpoint.c
@@ -110,7 +110,7 @@ static HRESULT WINAPI ConnectionPoint_GetConnectionInterface(IConnectionPoint *i
     if(!pIID)
         return E_POINTER;
 
-    memcpy(pIID, This->iid, sizeof(IID));
+    *pIID = *This->iid;
     return S_OK;
 }
 
diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c
index 116cbde..5e7181c 100644
--- a/dlls/mshtml/oleobj.c
+++ b/dlls/mshtml/oleobj.c
@@ -103,7 +103,7 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
             TRACE("hostinfo = {%u %08x %08x %s %s}\n",
                     hostinfo.cbSize, hostinfo.dwFlags, hostinfo.dwDoubleClick,
                     debugstr_w(hostinfo.pchHostCss), debugstr_w(hostinfo.pchHostNS));
-            memcpy(&This->hostinfo, &hostinfo, sizeof(DOCHOSTUIINFO));
+            This->hostinfo = hostinfo;
         }
 
         if(!This->has_key_path) {
@@ -285,7 +285,7 @@ static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpms
         if(SUCCEEDED(hres)) {
             if(lprcPosRect) {
                 RECT rect; /* We need to pass rect as not const pointer */
-                memcpy(&rect, lprcPosRect, sizeof(RECT));
+                rect = *lprcPosRect;
                 IOleDocumentView_SetRect(DOCVIEW(This), &rect);
             }
             IOleDocumentView_Show(DOCVIEW(This), TRUE);
@@ -325,7 +325,7 @@ static HRESULT WINAPI OleObject_GetUserClassID(IOleObject *iface, CLSID *pClsid)
     if(!pClsid)
         return E_INVALIDARG;
 
-    memcpy(pClsid, &CLSID_HTMLDocument, sizeof(GUID));
+    *pClsid = CLSID_HTMLDocument;
     return S_OK;
 }
 
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index a1d50b4..8a629d7 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -577,7 +577,7 @@ static HRESULT WINAPI PersistFile_GetClassID(IPersistFile *iface, CLSID *pClassI
     if(!pClassID)
         return E_INVALIDARG;
 
-    memcpy(pClassID, &CLSID_HTMLDocument, sizeof(CLSID));
+    *pClassID = CLSID_HTMLDocument;
     return S_OK;
 }
 





More information about the wine-patches mailing list