This commit is contained in:
jl777
2016-11-19 17:28:13 -03:00
parent a19b28ce5e
commit 550824a809
4 changed files with 32 additions and 3 deletions

View File

@@ -560,7 +560,7 @@ void komodo_iteration(char *symbol)
void komodo_passport_iteration()
{
static long lastpos[34];
FILE *fp; int32_t baseid,refid; struct komodo_state *sp; char fname[512],*base,symbol[16],dest[16];
FILE *fp; int32_t baseid,isrealtime,refid,block,longest; struct komodo_state *sp; char *retstr,fname[512],*base,symbol[16],dest[16]; cJSON *infoobj; uint16_t port; uint32_t magic;
if ( ASSETCHAINS_SYMBOL[0] == 0 )
refid = 33;
else refid = komodo_baseid(ASSETCHAINS_SYMBOL)+1;
@@ -572,6 +572,9 @@ void komodo_passport_iteration()
base = (char *)CURRENCIES[baseid];
komodo_statefname(fname,baseid<32?base:(char *)"");
komodo_nameset(symbol,dest,base);
port = komodo_port(base,10,&magic);
sp = 0;
isrealtime = 0;
if ( (fp= fopen(fname,"rb")) != 0 && (sp= komodo_stateptrget(symbol)) != 0 )
{
//printf("refid.%d %s fname.(%s) base.%s\n",refid,symbol,fname,base);
@@ -585,7 +588,22 @@ void komodo_passport_iteration()
//printf("from.(%s) lastpos[%s] %ld\n",ASSETCHAINS_SYMBOL,CURRENCIES[baseid],lastpos[baseid]);
} //else fprintf(stderr,"%s.%ld ",CURRENCIES[baseid],ftell(fp));
fclose(fp);
if ( (retstr= komodo_issuemethod((char *)"getinfo",0,port)) != 0 )
{
if ( (infoobj= cJSON_Parse(retstr)) != 0 )
{
blocks = juint(infoobj,"blocks");
longest = juint(infoobj,"longestchain");
printf("(%s %d %d) ",base,blocks,longest);
if ( blocks > 0 && blocks == longest )
isrealtime = 1;
free_json(infoobj);
}
free(retstr);
}
} else printf("fname.(%s) cant open\n",fname);
if ( sp != 0 )
sp->KOMODO_REALTIME = isrealtime * (uint32_t)time(NULL);
} // else use direct data for self via connect
}
}