From be6939f6578e2f87dbc4a29cb50abd81eed94a49 Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 21 Jan 2016 00:54:45 -0300 Subject: [PATCH] test --- iguana/iguana_rpc.c | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/iguana/iguana_rpc.c b/iguana/iguana_rpc.c index 14df7672f..138143995 100755 --- a/iguana/iguana_rpc.c +++ b/iguana/iguana_rpc.c @@ -618,13 +618,14 @@ char *iguana_bitcoinRPC(struct supernet_info *myinfo,char *method,cJSON *json,ch int32_t Supernet_lineparse(char *key,int32_t keymax,char *value,int32_t valuemax,char *src) { - int32_t a,b,c,n = 0; + int32_t a,b,c,n = 0; char *origkey=key,*origvalue=value; key[0] = value[0] = 0; while ( (c= src[n]) == ' ' || c == '\t' || c == '\n' || c == '\t' ) n++; while ( (c= src[n]) != ':' && c != 0 ) { *key++ = c; + //printf("(%c) ",c); if ( ++n >= keymax-1 ) { *key = 0; @@ -633,6 +634,7 @@ int32_t Supernet_lineparse(char *key,int32_t keymax,char *value,int32_t valuemax } } *key = 0; + //printf("-> key.(%s)\n",origkey); if ( src[n] != ':' ) return(n); n++; @@ -658,7 +660,7 @@ int32_t Supernet_lineparse(char *key,int32_t keymax,char *value,int32_t valuemax while ( (c= src[n]) == '\r' || c == '\n' ) n++; } - //printf("key.(%s) value.(%s)\n",key,value); + //printf("key.(%s) value.(%s)\n",origkey,origvalue); return(n); } @@ -679,6 +681,7 @@ cJSON *SuperNET_urlconv(char *value,int32_t bufsize,char *urlstr) continue; } urlstr[i] = 0; + //printf("URLSTR[%d]=%s\n",i,&urlstr[len]); if ( (n= Supernet_lineparse(key,sizeof(key),value,bufsize,&urlstr[len])) > 0 ) { if ( value[0] != 0 ) @@ -695,12 +698,13 @@ cJSON *SuperNET_urlconv(char *value,int32_t bufsize,char *urlstr) } else break; } jadd(json,"lines",array); + //printf("urlconv.(%s)\n",jprint(json,0)); return(json); } char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsize,int32_t *jsonflagp,int32_t *postflagp,char *urlstr,char *remoteaddr) { - cJSON *tokens,*argjson,*json = 0; char symbol[16],buf[4096],urlmethod[16],*data,url[1024],*retstr,*token = 0; int32_t i,j,n; + cJSON *tokens,*argjson,*json = 0; char symbol[16],buf[4096],urlmethod[16],*data,url[1024],*retstr,*token = 0; int32_t i,j,n,num=0; //printf("rpcparse.(%s)\n",urlstr); for (i=0; i 0 ) + jaddstr(argjson,"agent",jstri(tokens,0)); + if ( num > 1 ) + jaddstr(argjson,"method",jstri(tokens,1));*/ + //printf("urlstr.(%s)\n",urlstr+n); if ( (json= SuperNET_urlconv(retbuf,bufsize,urlstr+n)) != 0 ) { jadd(json,"tokens",tokens); jaddstr(json,"urlmethod",urlmethod); if ( (data= jstr(json,"POST")) == 0 || (argjson= cJSON_Parse(data)) == 0 ) { - argjson = cJSON_CreateObject(); if ( (n= cJSON_GetArraySize(tokens)) > 0 ) { jaddstr(argjson,"agent",jstri(tokens,0)); @@ -833,14 +854,15 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz } } } + //printf("after urlconv.(%s) argjson.(%s)\n",jprint(json,0),jprint(argjson,0)); if ( jstr(argjson,"method") == 0 ) { free_json(argjson); return(0); } retstr = SuperNET_JSON(myinfo,argjson,remoteaddr); + //printf("(%s) {%s} -> (%s) postflag.%d (%s)\n",urlstr,jprint(argjson,0),cJSON_Print(json),*postflagp,retstr); free_json(argjson); - //printf("(%s) -> (%s) postflag.%d (%s)\n",urlstr,cJSON_Print(json),*postflagp,retstr); return(retstr); } return(clonestr("{\"error\":\"couldnt process packet\"}"));