asm (
"mov %2, %%eax; " // in into eax
"cpuid;"
- "mov %%eax, %0;" // eax into ret
- "mov %%ecx, %1;" // eax into ret
+ "mov %%eax, %0;" // eax into a
+ "mov %%ecx, %1;" // eax into c
:"=r"(a),"=r"(c) /* output */
:"r"(in) /* input */
:"%eax","%ecx" /* clobbered register */
wtxNew.vout.push_back(CTxOut(nValueOut, scriptPubKey));
// Fill a vout back to self with any change
- if (nValueIn > nTotalValue)
+ int64 nChange = nValueIn - nTotalValue;
+ if (nChange >= CENT)
{
// Note: We use a new key here to keep it from being obvious which side is the change.
// The drawback is that by not reusing a previous key, the change may be lost if a
scriptChange.SetBitcoinAddress(keyRet.GetPubKey());
else
scriptChange << keyRet.GetPubKey() << OP_CHECKSIG;
- wtxNew.vout.push_back(CTxOut(nValueIn - nTotalValue, scriptChange));
+ wtxNew.vout.push_back(CTxOut(nChange, scriptChange));
}
// Fill a vout to the payee
static const unsigned int MAX_SIZE = 0x02000000;
static const int VERSION = 312;
-static const char* pszSubVer = ".2";
+static const char* pszSubVer = ".3";
bool ThreadSafeAskFee(int64 nFeeRequired, const string& strCaption, wxWindow* parent)
{
- if (nFeeRequired == 0 || fDaemon)
+ if (nFeeRequired < CENT || fDaemon)
return true;
string strMessage = strprintf(
_("This transaction is over the size limit. You can still send it for a fee of %s, "