It is unlikely that using strcpy() instead of memcpy() amounts to an optimization.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/strmbase/pin.c | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index ef22a57..f3ce7d0 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -143,17 +143,6 @@ out: return hr; }
-static void Copy_PinInfo(PIN_INFO * pDest, const PIN_INFO * pSrc) -{ - /* Tempting to just do a memcpy, but the name field is - 128 characters long! We will probably never exceed 10 - most of the time, so we are better off copying - each field manually */ - strcpyW(pDest->achName, pSrc->achName); - pDest->dir = pSrc->dir; - pDest->pFilter = pSrc->pFilter; -} - static void dump_AM_MEDIA_TYPE(const AM_MEDIA_TYPE * pmt) { if (!pmt) @@ -270,14 +259,14 @@ HRESULT WINAPI BasePinImpl_ConnectionMediaType(IPin * iface, AM_MEDIA_TYPE * pmt return hr; }
-HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin * iface, PIN_INFO * pInfo) +HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin *iface, PIN_INFO *info) { BasePin *This = impl_from_IPin(iface);
- TRACE("(%p)->(%p)\n", This, pInfo); + TRACE("(%p)->(%p)\n", This, info);
- Copy_PinInfo(pInfo, &This->pinInfo); - IBaseFilter_AddRef(pInfo->pFilter); + memcpy(info, &This->pinInfo, sizeof(*info)); + IBaseFilter_AddRef(info->pFilter);
return S_OK; } @@ -766,7 +755,7 @@ HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin* iface, IPin * pRecei return hr; }
-static HRESULT OutputPin_Init(const IPinVtbl *OutputPin_Vtbl, const PIN_INFO * pPinInfo, const BaseOutputPinFuncTable* vtbl, LPCRITICAL_SECTION pCritSec, BaseOutputPin * pPinImpl) +static HRESULT OutputPin_Init(const IPinVtbl *OutputPin_Vtbl, const PIN_INFO *info, const BaseOutputPinFuncTable *vtbl, LPCRITICAL_SECTION pCritSec, BaseOutputPin *pPinImpl) { TRACE("(%p)\n", pPinImpl);
@@ -778,7 +767,7 @@ static HRESULT OutputPin_Init(const IPinVtbl *OutputPin_Vtbl, const PIN_INFO * p pPinImpl->pin.tStart = 0; pPinImpl->pin.tStop = 0; pPinImpl->pin.dRate = 1.0; - Copy_PinInfo(&pPinImpl->pin.pinInfo, pPinInfo); + memcpy(&pPinImpl->pin.pinInfo, info, sizeof(*info)); pPinImpl->pin.pFuncsTable = &vtbl->base; ZeroMemory(&pPinImpl->pin.mtCurrent, sizeof(AM_MEDIA_TYPE));
@@ -1149,7 +1138,7 @@ static const IMemInputPinVtbl MemInputPin_Vtbl = MemInputPin_ReceiveCanBlock };
-static HRESULT InputPin_Init(const IPinVtbl *InputPin_Vtbl, const PIN_INFO * pPinInfo, +static HRESULT InputPin_Init(const IPinVtbl *InputPin_Vtbl, const PIN_INFO *info, const BaseInputPinFuncTable* vtbl, LPCRITICAL_SECTION pCritSec, IMemAllocator *allocator, BaseInputPin * pPinImpl) { @@ -1162,7 +1151,7 @@ static HRESULT InputPin_Init(const IPinVtbl *InputPin_Vtbl, const PIN_INFO * pPi pPinImpl->pin.tStart = 0; pPinImpl->pin.tStop = 0; pPinImpl->pin.dRate = 1.0; - Copy_PinInfo(&pPinImpl->pin.pinInfo, pPinInfo); + memcpy(&pPinImpl->pin.pinInfo, info, sizeof(*info)); ZeroMemory(&pPinImpl->pin.mtCurrent, sizeof(AM_MEDIA_TYPE)); pPinImpl->pin.pFuncsTable = &vtbl->base;