public void SetProcedureReturnAddressBytes(Procedure proc, int returnAddressBytes, Address address)
{
if (proc.Frame.ReturnAddressKnown)
{
if (proc.Frame.ReturnAddressSize != returnAddressBytes)
{
Warn(
address,
string.Format(
"Procedure {1} previously had a return address of {2} bytes on the stack, " +
"but now seems to have a return address of {0} bytes on the stack.",
returnAddressBytes,
proc.Name,
proc.Frame.ReturnAddressSize));
}
}
else
{
proc.Frame.ReturnAddressSize = returnAddressBytes;
proc.Frame.ReturnAddressKnown = true;
proc.Signature.ReturnAddressOnStack = returnAddressBytes;
}
}