зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1409227 (part 4) - Replace nsMemory::Clone(id, sizeof(nsID)) with nsID::Clone(id). r=mccr8.
This change requires introducing nsID::Clone(). Because it's infallible, the patch also removes some redundant failure-handling code. (nsMemory::Clone() is also infallible, so this code was redundant even before this change.) --HG-- extra : rebase_source : ef22757d3fa814320490bf7e19e822b8f0c4bdc3
This commit is contained in:
Родитель
1fdf1c46d3
Коммит
7f098bdb9c
|
@ -4126,7 +4126,7 @@ nsDocShell::GetChildOffset(int32_t* aChildOffset)
|
|||
NS_IMETHODIMP
|
||||
nsDocShell::GetHistoryID(nsID** aID)
|
||||
{
|
||||
*aID = static_cast<nsID*>(nsMemory::Clone(&mHistoryID, sizeof(nsID)));
|
||||
*aID = mHistoryID.Clone();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -959,7 +959,7 @@ nsSHEntry::HasDynamicallyAddedChild(bool* aAdded)
|
|||
NS_IMETHODIMP
|
||||
nsSHEntry::GetDocshellID(nsID** aID)
|
||||
{
|
||||
*aID = static_cast<nsID*>(nsMemory::Clone(&mShared->mDocShellID, sizeof(nsID)));
|
||||
*aID = mShared->mDocShellID.Clone();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -544,20 +544,10 @@ nsDOMClassInfo::GetInterfaces(uint32_t *aCount, nsIID ***aArray)
|
|||
}
|
||||
|
||||
*aArray = static_cast<nsIID **>(moz_xmalloc(count * sizeof(nsIID *)));
|
||||
NS_ENSURE_TRUE(*aArray, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
uint32_t i;
|
||||
for (i = 0; i < count; i++) {
|
||||
nsIID *iid = static_cast<nsIID *>(nsMemory::Clone(mData->mInterfaces[i],
|
||||
sizeof(nsIID)));
|
||||
|
||||
if (!iid) {
|
||||
NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(i, *aArray);
|
||||
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
*((*aArray) + i) = iid;
|
||||
*((*aArray) + i) = mData->mInterfaces[i]->Clone();
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
|
|
@ -123,33 +123,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_Interfaces::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_Interfaces)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_Interfaces).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -347,33 +327,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_InterfacesByID::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_InterfacesByID)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_InterfacesByID).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -573,33 +533,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_Classes::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_Classes)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_Classes).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -787,33 +727,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_ClassesByID::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_ClassesByID)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_ClassesByID).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1016,33 +936,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_Results::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_Results)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_Results).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1205,33 +1105,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_ID::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_ID)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_ID).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1401,33 +1281,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_Exception::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_Exception)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_Exception).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1764,33 +1624,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCConstructor::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCConstructor)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCConstructor).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1985,33 +1825,13 @@ private:
|
|||
NS_IMETHODIMP
|
||||
nsXPCComponents_Constructor::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCComponents_Constructor)
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCComponents_Constructor).Clone();
|
||||
array[1] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -481,11 +481,10 @@ XPCConvert::JSData2Native(void* d, HandleValue s,
|
|||
}
|
||||
|
||||
if (!s.isObject() ||
|
||||
(!(pid = xpc_JSObjectToID(cx, &s.toObject()))) ||
|
||||
(!(pid = (const nsID*) nsMemory::Clone(pid, sizeof(nsID))))) {
|
||||
!(pid = xpc_JSObjectToID(cx, &s.toObject()))) {
|
||||
return false;
|
||||
}
|
||||
*((const nsID**)d) = pid;
|
||||
*((const nsID**)d) = pid->Clone();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -80,33 +80,13 @@ BackstagePass::Enumerate(nsIXPConnectWrappedNative* wrapper, JSContext* cx,
|
|||
NS_IMETHODIMP
|
||||
BackstagePass::GetInterfaces(uint32_t* aCount, nsIID * **aArray)
|
||||
{
|
||||
const uint32_t count = 2;
|
||||
*aCount = count;
|
||||
nsIID** array;
|
||||
*aArray = array = static_cast<nsIID**>(moz_xmalloc(count * sizeof(nsIID*)));
|
||||
if (!array)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
uint32_t index = 0;
|
||||
nsIID* clone;
|
||||
#define PUSH_IID(id) \
|
||||
clone = static_cast<nsIID*>(nsMemory::Clone(&NS_GET_IID( id ), \
|
||||
sizeof(nsIID))); \
|
||||
if (!clone) \
|
||||
goto oom; \
|
||||
array[index++] = clone;
|
||||
|
||||
PUSH_IID(nsIXPCScriptable)
|
||||
PUSH_IID(nsIScriptObjectPrincipal)
|
||||
#undef PUSH_IID
|
||||
*aCount = 2;
|
||||
nsIID** array = static_cast<nsIID**>(moz_xmalloc(2 * sizeof(nsIID*)));
|
||||
*aArray = array;
|
||||
|
||||
array[0] = NS_GET_IID(nsIXPCScriptable).Clone();
|
||||
array[1] = NS_GET_IID(nsIScriptObjectPrincipal).Clone();
|
||||
return NS_OK;
|
||||
oom:
|
||||
while (index)
|
||||
free(array[--index]);
|
||||
free(array);
|
||||
*aArray = nullptr;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -620,8 +620,8 @@ nsXPCWrappedJS::GetInterfaceIID(nsIID** iid)
|
|||
{
|
||||
NS_PRECONDITION(iid, "bad param");
|
||||
|
||||
*iid = (nsIID*) nsMemory::Clone(&(GetIID()), sizeof(nsIID));
|
||||
return *iid ? NS_OK : NS_ERROR_UNEXPECTED;
|
||||
*iid = GetIID().Clone();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -147,8 +147,7 @@ NS_CI_INTERFACE_GETTER_NAME(_class)(uint32_t *count, nsIID ***array) \
|
|||
uint32_t i = 0;
|
||||
|
||||
#define NS_CLASSINFO_HELPER_ENTRY(_interface) \
|
||||
(*array)[i++] = (nsIID*)nsMemory::Clone(&NS_GET_IID(_interface), \
|
||||
sizeof(nsIID));
|
||||
(*array)[i++] = NS_GET_IID(_interface).Clone(); \
|
||||
|
||||
#define NS_CLASSINFO_HELPER_END \
|
||||
MOZ_ASSERT(i == *count, "Incorrent number of entries"); \
|
||||
|
|
|
@ -129,3 +129,11 @@ nsID::ToProvidedString(char (&aDest)[NSID_LENGTH]) const
|
|||
}
|
||||
|
||||
#endif // XPCOM_GLUE_AVOID_NSPR
|
||||
|
||||
nsID*
|
||||
nsID::Clone() const
|
||||
{
|
||||
auto id = static_cast<nsID*>(moz_xmalloc(sizeof(nsID)));
|
||||
*id = *this;
|
||||
return id;
|
||||
}
|
||||
|
|
|
@ -83,6 +83,9 @@ struct nsID
|
|||
|
||||
#endif // XPCOM_GLUE_AVOID_NSPR
|
||||
|
||||
// Infallibly duplicate an nsID. Must be freed with free().
|
||||
nsID* Clone() const;
|
||||
|
||||
//@}
|
||||
};
|
||||
|
||||
|
|
|
@ -45,12 +45,7 @@ nsSupportsID::GetData(nsID** aData)
|
|||
{
|
||||
NS_ASSERTION(aData, "Bad pointer");
|
||||
|
||||
if (mData) {
|
||||
*aData = static_cast<nsID*>(nsMemory::Clone(mData, sizeof(nsID)));
|
||||
} else {
|
||||
*aData = nullptr;
|
||||
}
|
||||
|
||||
*aData = mData ? mData->Clone() : nullptr;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -61,12 +56,7 @@ nsSupportsID::SetData(const nsID* aData)
|
|||
free(mData);
|
||||
}
|
||||
|
||||
if (aData) {
|
||||
mData = static_cast<nsID*>(nsMemory::Clone(aData, sizeof(nsID)));
|
||||
} else {
|
||||
mData = nullptr;
|
||||
}
|
||||
|
||||
mData = aData ? aData->Clone() : nullptr;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -715,12 +705,7 @@ nsSupportsInterfacePointer::GetDataIID(nsID** aIID)
|
|||
{
|
||||
NS_ASSERTION(aIID, "Bad pointer");
|
||||
|
||||
if (mIID) {
|
||||
*aIID = static_cast<nsID*>(nsMemory::Clone(mIID, sizeof(nsID)));
|
||||
} else {
|
||||
*aIID = nullptr;
|
||||
}
|
||||
|
||||
*aIID = mIID ? mIID->Clone() : nullptr;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -731,12 +716,7 @@ nsSupportsInterfacePointer::SetDataIID(const nsID* aIID)
|
|||
free(mIID);
|
||||
}
|
||||
|
||||
if (aIID) {
|
||||
mIID = static_cast<nsID*>(nsMemory::Clone(aIID, sizeof(nsID)));
|
||||
} else {
|
||||
mIID = nullptr;
|
||||
}
|
||||
|
||||
mIID = aIID ? aIID->Clone() : nullptr;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -251,8 +251,6 @@ CloneArray(uint16_t aInType, const nsIID* aInIID,
|
|||
NS_ASSERTION(aOutCount, "bad param");
|
||||
NS_ASSERTION(aOutValue, "bad param");
|
||||
|
||||
uint32_t allocatedValueCount = 0;
|
||||
nsresult rv = NS_OK;
|
||||
uint32_t i;
|
||||
|
||||
// First we figure out the size of the elements for the new u.array.
|
||||
|
@ -378,13 +376,10 @@ CloneArray(uint16_t aInType, const nsIID* aInIID,
|
|||
for (i = aInCount; i > 0; --i) {
|
||||
nsID* idp = *(inp++);
|
||||
if (idp) {
|
||||
if (!(*(outp++) = (nsID*)nsMemory::Clone((char*)idp, sizeof(nsID)))) {
|
||||
goto bad;
|
||||
}
|
||||
*(outp++) = idp->Clone();
|
||||
} else {
|
||||
*(outp++) = nullptr;
|
||||
}
|
||||
allocatedValueCount++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -399,7 +394,6 @@ CloneArray(uint16_t aInType, const nsIID* aInIID,
|
|||
} else {
|
||||
*(outp++) = nullptr;
|
||||
}
|
||||
allocatedValueCount++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -414,7 +408,6 @@ CloneArray(uint16_t aInType, const nsIID* aInIID,
|
|||
} else {
|
||||
*(outp++) = nullptr;
|
||||
}
|
||||
allocatedValueCount++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -438,18 +431,6 @@ CloneArray(uint16_t aInType, const nsIID* aInIID,
|
|||
*aOutType = aInType;
|
||||
*aOutCount = aInCount;
|
||||
return NS_OK;
|
||||
|
||||
bad:
|
||||
if (*aOutValue) {
|
||||
char** p = (char**)*aOutValue;
|
||||
for (i = allocatedValueCount; i > 0; ++p, --i)
|
||||
if (*p) {
|
||||
free(*p);
|
||||
}
|
||||
free((char*)*aOutValue);
|
||||
*aOutValue = nullptr;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
@ -1162,10 +1143,7 @@ nsDiscriminatedUnion::ConvertToInterface(nsIID** aIID,
|
|||
return NS_ERROR_CANNOT_CONVERT_DATA;
|
||||
}
|
||||
|
||||
*aIID = (nsIID*)nsMemory::Clone(piid, sizeof(nsIID));
|
||||
if (!*aIID) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
*aIID = piid->Clone();
|
||||
|
||||
if (u.iface.mInterfaceValue) {
|
||||
return u.iface.mInterfaceValue->QueryInterface(*piid, aInterface);
|
||||
|
|
|
@ -412,7 +412,7 @@ ShimInterfaceInfo::GetName(char** aName)
|
|||
NS_IMETHODIMP
|
||||
ShimInterfaceInfo::GetInterfaceIID(nsIID** aIID)
|
||||
{
|
||||
*aIID = static_cast<nsIID*> (nsMemory::Clone(&mIID, sizeof(mIID)));
|
||||
*aIID = mIID.Clone();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -127,8 +127,8 @@ nsresult
|
|||
xptiInterfaceEntry::GetIID(nsIID **iid)
|
||||
{
|
||||
// It is not necessary to Resolve because this info is read from manifest.
|
||||
*iid = (nsIID*) nsMemory::Clone(&mIID, sizeof(nsIID));
|
||||
return *iid ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
*iid = mIID.Clone();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
|
Загрузка…
Ссылка в новой задаче