Fix utxos
This commit is contained in:
@@ -128,16 +128,16 @@ struct NSPV_utxosresp
|
|||||||
uint16_t numutxos,pad16;
|
uint16_t numutxos,pad16;
|
||||||
};
|
};
|
||||||
|
|
||||||
int32_t NSPV_rwutxosresp(int32_t rwflag,uint8_t *serialized,uint16_t *vecsizep,struct NSPV_utxosresp **ptrp) // check mempool
|
int32_t NSPV_rwutxosresp(int32_t rwflag,uint8_t *serialized,struct NSPV_utxosresp *ptr) // check mempool
|
||||||
{
|
{
|
||||||
int32_t i,vsize,len = 0;
|
int32_t i,len = 0;
|
||||||
len += iguana_rwnum(rwflag,&serialized[len],sizeof(*vecsizep),vecsizep);
|
len += iguana_rwnum(rwflag,&serialized[len],sizeof(ptr->numutxos),&ptr->numutxos);
|
||||||
if ( (vsize= *vecsizep) != 0 )
|
if ( ptr->numutxos != 0 )
|
||||||
{
|
{
|
||||||
if ( *ptrp == 0 )
|
if ( ptr->utxos == 0 )
|
||||||
*ptrp = (struct NSPV_utxosresp *)calloc(sizeof(**ptrp),vsize); // relies on uint16_t being "small" to prevent mem exhaustion
|
ptr->utxos = (struct NSPV_utxoresp *)calloc(sizeof(*ptr->utxos),ptr->numutxos); // relies on uint16_t being "small" to prevent mem exhaustion
|
||||||
for (i=0; i<vsize; i++)
|
for (i=0; i<ptr->numutxos; i++)
|
||||||
len += NSPV_rwutxoresp(rwflag,&serialized[len],&(*ptrp)[i]);
|
len += NSPV_rwutxoresp(rwflag,&serialized[len],&ptr->utxos[i]);
|
||||||
}
|
}
|
||||||
len += iguana_rwnum(rwflag,&serialized[len],sizeof(ptr->total),&ptr->total);
|
len += iguana_rwnum(rwflag,&serialized[len],sizeof(ptr->total),&ptr->total);
|
||||||
len += iguana_rwnum(rwflag,&serialized[len],sizeof(ptr->interest),&ptr->interest);
|
len += iguana_rwnum(rwflag,&serialized[len],sizeof(ptr->interest),&ptr->interest);
|
||||||
@@ -459,7 +459,7 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
|
|||||||
slen = NSPV_getaddressutxos(&U,coinaddr);
|
slen = NSPV_getaddressutxos(&U,coinaddr);
|
||||||
response.resize(1 + slen);
|
response.resize(1 + slen);
|
||||||
response[0] = NSPV_UTXOSRESP;
|
response[0] = NSPV_UTXOSRESP;
|
||||||
if ( NSPV_rwutxosresp(1,&response[1],&U.numutxos,&U.utxos) == slen )
|
if ( NSPV_rwutxosresp(1,&response[1],&U.utxos) == slen )
|
||||||
{
|
{
|
||||||
pfrom->PushMessage("nSPV",response);
|
pfrom->PushMessage("nSPV",response);
|
||||||
pfrom->lastutxos = timestamp;
|
pfrom->lastutxos = timestamp;
|
||||||
|
|||||||
Reference in New Issue
Block a user