From 2c7e0e336e7e3fdbab621b52f9dcf77affe186ce Mon Sep 17 00:00:00 2001
From: jl777 <jameslee777@yahoo.com>
Date: Wed, 20 Apr 2016 20:02:28 -0500
Subject: [PATCH] test

---
 iguana/iguana_ramchain.c | 37 +++++++++++++++----------------------
 1 file changed, 15 insertions(+), 22 deletions(-)

diff --git a/iguana/iguana_ramchain.c b/iguana/iguana_ramchain.c
index 34ed4f3d1..f29732aac 100755
--- a/iguana/iguana_ramchain.c
+++ b/iguana/iguana_ramchain.c
@@ -429,38 +429,31 @@ uint32_t iguana_ramchain_addspend(struct iguana_info *coin,RAMCHAIN_FUNC,bits256
         }
         txidind |= (1 << 31);
     }
-    else
+    else if ( ptr != 0 )
+        txidind = ptr->hh.itemind;
+    else if ( prev_vout >= 0 )
+        printf("unexpected addspend case: null ptr prev.%d [%d] s%u\n",prev_vout,hdrsi,spendind);
+    if ( prev_vout >= 0 && (external= ((txidind >> 31) & 1)) == 0 )
     {
-        if ( prev_vout >= 0 )
+        if ( txidind > 0 && txidind < ramchain->H.data->numtxids )
         {
-            if ( ptr != 0 )
+            if ( (unspentind= T[txidind].firstvout + prev_vout) > 0 && unspentind < ramchain->H.data->numunspents )
             {
-                txidind = ptr->hh.itemind;
-                if ( prev_vout >= 0 && (txidind & (1<<31)) == 0 )
+                value = Ux[unspentind].value;
+                if ( (pkind= Ux[unspentind].pkind) == 0 || pkind >= ramchain->H.data->numpkinds )
                 {
-                    if ( txidind > 0 && txidind < ramchain->H.data->numtxids )
-                    {
-                        if ( (unspentind= T[txidind].firstvout + prev_vout) > 0 && unspentind < ramchain->H.data->numunspents )
-                        {
-                            value = Ux[unspentind].value;
-                            if ( (pkind= Ux[unspentind].pkind) == 0 || pkind >= ramchain->H.data->numpkinds )
-                            {
-                                printf("spendind.%d -> unspendind.%d %.8f -> pkind.0x%x\n",spendind,unspentind,dstr(value),pkind);
-                                return(0);
-                            }
-                        } else printf("addspend illegal unspentind.%d vs %d\n",unspentind,ramchain->H.data->numunspents);
-                    } else printf("addspend illegal txidind.%d vs %d\n",txidind,ramchain->H.data->numtxids), exit(-1);
+                    printf("spendind.%d -> unspendind.%d %.8f -> pkind.0x%x\n",spendind,unspentind,dstr(value),pkind);
+                    return(0);
                 }
-            }
-            else printf("unexpected addpsend case: null ptr.%p [%d] s%u\n",ptr,hdrsi,spendind);
-        }
+            } else printf("addspend illegal unspentind.%d vs %d\n",unspentind,ramchain->H.data->numunspents);
+        } else printf("addspend illegal txidind.%d vs %d\n",txidind,ramchain->H.data->numtxids), exit(-1);
     }
     if ( ramchain->H.ROflag != 0 )
     {
         iguana_ramchain_txid(coin,RAMCHAIN_ARG,&txid,s);
         if ( s->sequenceid != sequence || memcmp(txid.bytes,prev_hash.bytes,sizeof(bits256)) != 0 || s->prevout != prev_vout )
         {
-            char str[65],str2[65]; printf("ramchain_addspend RO value mismatch diffseq.%x v %x vouts.(%d %d) %s vs %s\n",s->sequenceid,sequence,s->prevout,prev_vout,bits256_str(str,txid),bits256_str(str2,prev_hash));
+            char str[65],str2[65]; printf("ramchain_addspend RO value mismatch diffseq.%x v %x (%d) vs (%d) %s vs %s\n",s->sequenceid,sequence,s->prevout,prev_vout,bits256_str(str,txid),bits256_str(str2,prev_hash));
             return(0);
         }
         /*if ( (checklen= iguana_vinscriptdecode(coin,ramchain,&metalen,_script,&Kspace[ramchain->H.data->scriptspace],Kspace,s)) != vinscriptlen || (vinscript != 0 && memcmp(_script,vinscript,vinscriptlen) != 0) )
@@ -485,7 +478,7 @@ uint32_t iguana_ramchain_addspend(struct iguana_info *coin,RAMCHAIN_FUNC,bits256
         //    printf("%02x",vinscript[i]);
         //printf(" SAVE vinscript len.%d\n",vinscriptlen);
         if ( bits256_cmp(prev_hash,bits256_conv("d9151f0471a3982778c8acc623becc24bc35483bdecb07611d036209da541cde")) == 0 )
-            printf("found spend d9151... txidind.%u\n",txidind);
+            printf("found spend d9151... txidind.%u [%d] s%u\n",txidind,hdrsi,spendind);
         s->sequenceid = sequence;
         s->external = external, s->spendtxidind = txidind,
         s->prevout = prev_vout;