Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
12d96caf45
  1. 13
      iguana/iguana_ramchain.c
  2. 4
      iguana/iguana_tx.c

13
iguana/iguana_ramchain.c

@ -313,6 +313,8 @@ uint32_t iguana_ramchain_addunspent20(struct iguana_info *coin,struct iguana_pee
fprintf(stderr,"IGUANA_SCRIPT_76AC type.%d scriptlen.%d bp.%p %s\n",type,scriptlen,bp,mbstr(str,totalsize));
}
u->scriptlen = scriptlen;
u->scriptpos = 0;
u->fileid = 0;
if ( scriptlen > 0 && script != 0 )
{
memset(&V,0,sizeof(V));
@ -322,18 +324,14 @@ uint32_t iguana_ramchain_addunspent20(struct iguana_info *coin,struct iguana_pee
if ( addr != 0 && addr->voutsfp != 0 )
{
u->fileid = (uint32_t)addr->addrind;
u->scriptpos = (uint32_t)ftell(addr->voutsfp);
if ( (u->scriptpos= (uint32_t)ftell(addr->voutsfp)) == 0 )
fputc(0,addr->voutsfp), u->scriptpos++;
if ( fwrite(script,1,scriptlen,addr->voutsfp) != scriptlen )
printf("error writing vout scriptlen.%d errno.%d\n",scriptlen,errno);
else addr->dirty[0]++;
} else printf("addr.%p unspent error fp.%p\n",addr,addr!=0?addr->voutsfp:0);
}
else
{
u->scriptpos = 0;
u->fileid = 0;
}
} else u->scriptpos = 0;
u->txidind = ramchain->H.txidind;
}
return(unspentind);
@ -560,7 +558,8 @@ uint32_t iguana_ramchain_addspend256(struct iguana_info *coin,struct iguana_peer
if ( (s->vinscriptlen= vinscriptlen) > 0 && vinscript != 0 && addr != 0 && addr->vinsfp != 0 && vinscriptlen < IGUANA_MAXSCRIPTSIZE)
{
s->fileid = (uint32_t)addr->addrind;
s->scriptpos = (uint32_t)ftell(addr->vinsfp);
if ( (s->scriptpos= (uint32_t)ftell(addr->vinsfp)) == 0 )
fputc(0,addr->vinsfp), s->scriptpos++;
if ( fwrite(vinscript,1,vinscriptlen,addr->vinsfp) != vinscriptlen )
printf("error writing vinscriptlen.%d errno.%d\n",vinscriptlen,errno);
else addr->dirty[1]++;

4
iguana/iguana_tx.c

@ -75,7 +75,7 @@ int32_t iguana_voutset(struct iguana_info *coin,uint8_t *scriptspace,char *asmst
p = &P[u->pkind];
vout->value = u->value;
vout->pk_script = scriptspace;
if ( u->scriptlen > 0 )
if ( u->scriptpos > 0 && u->scriptlen > 0 )
{
iguana_voutsfname(coin,fname,u->fileid);
if ( (fp= fopen(fname,"rb")) != 0 )
@ -96,8 +96,6 @@ int32_t iguana_voutset(struct iguana_info *coin,uint8_t *scriptspace,char *asmst
}
} else printf("iguana_voutset unexpected path\n");
vout->pk_scriptlen = scriptlen;
if ( scriptlen != u->scriptlen && u->scriptlen != 0 )
printf("scriptlen.%d u.(type.%d fpos.%d len.%d)\n",scriptlen,u->type,u->scriptpos,u->scriptlen);
if ( err != 0 )
return(-err);
else return(scriptlen);

Loading…
Cancel
Save