Index: src/json.c ================================================================== --- src/json.c +++ src/json.c @@ -84,17 +84,17 @@ ** Print the timing results. */ static double endTimer(void){ struct rusage sEnd; getrusage(RUSAGE_SELF, &sEnd); - return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime) - + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime); #if 0 printf("CPU Time: user %f sys %f\n", timeDiff(&sBegin.ru_utime, &sEnd.ru_utime), timeDiff(&sBegin.ru_stime, &sEnd.ru_stime)); #endif + return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime) + + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime); } #define BEGIN_TIMER beginTimer() #define END_TIMER endTimer() #define HAS_TIMER 1 @@ -162,10 +162,11 @@ FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd; getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd); return timeDiff(&ftUserBegin, &ftUserEnd) + timeDiff(&ftKernelBegin, &ftKernelEnd); } + return 0.0; } #define BEGIN_TIMER beginTimer() #define END_TIMER endTimer() #define HAS_TIMER hasTimer() @@ -912,11 +913,10 @@ cson_array * target ){ char const * p = zStr /* current byte */; char const * head /* current start-of-token */; unsigned int len = 0 /* current token's length */; int rc = 0 /* return code (number of added elements)*/; - char skipWs = fossil_isspace(separator) ? 0 : 1; assert( zStr && target ); while( fossil_isspace(*p) ){ ++p; } head = p; @@ -1015,11 +1015,10 @@ ** This must only be called once, or an assertion may be triggered. */ static void json_mode_bootstrap(){ static char once = 0 /* guard against multiple runs */; char const * zPath = P("PATH_INFO"); - cson_value * pathSplit = NULL; assert( (0==once) && "json_mode_bootstrap() called too many times!"); if( once ){ return; }else{ once = 1; @@ -1151,11 +1150,10 @@ g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/; } {/* set up JSON output formatting options. */ int indent = -1; - char const * indentStr = NULL; indent = json_find_option_int("indent",NULL,"I",-1); g.json.outOpt.indentation = (0>indent) ? (g.isHTTP ? 0 : 1) : (unsigned char)indent; g.json.outOpt.addNewline = g.isHTTP @@ -1331,11 +1329,10 @@ if(!g.json.cmd.a){ return NULL; }else{ cson_value * rc = NULL; Blob path = empty_blob; - char const * part; unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/ unsigned int i = 1; for( ; i < aLen; ++i ){ char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i))); if(!part){ Index: src/json_artifact.c ================================================================== --- src/json_artifact.c +++ src/json_artifact.c @@ -85,11 +85,10 @@ ); if( db_step(&q)==SQLITE_ROW ){ cson_object * o; cson_value * tmpV = NULL; const char *zUuid = db_column_text(&q, 0); - char * zTmp; const char *zUser; const char *zComment; char * zEUser, * zEComment; int mtime, omtime; v = cson_value_new_object(); Index: src/json_diff.c ================================================================== --- src/json_diff.c +++ src/json_diff.c @@ -37,11 +37,10 @@ int fromid; int toid; int outLen; Blob from = empty_blob, to = empty_blob, out = empty_blob; cson_value * rc = NULL; - char const * zType = "ci"; int flags = (DIFF_CONTEXT_MASK & nContext) | (fSbs ? DIFF_SIDEBYSIDE : 0); fromid = name_to_typed_rid(zFrom, "*"); if(fromid<=0){ json_set_err(FSL_JSON_E_UNRESOLVED_UUID, Index: src/json_timeline.c ================================================================== --- src/json_timeline.c +++ src/json_timeline.c @@ -405,11 +405,11 @@ cson_value_free( cson_string_value(tags) ); cson_value_free( cson_string_value(isLeaf) ); } goto end; - error: + assert( 0 != g.json.resultCode ); cson_value_free(pay); end: return pay; @@ -429,11 +429,10 @@ cson_array * list = NULL; int check = 0; char showFiles = -1/*magic number*/; Stmt q = empty_Stmt; char warnRowToJsonFailed = 0; - char warnStringToArrayFailed = 0; Blob sql = empty_blob; if( !g.perm.Read ){ /* IMO this falls more under the category of g.perm.History, but i'm following the original timeline impl here. */ Index: src/json_wiki.c ================================================================== --- src/json_wiki.c +++ src/json_wiki.c @@ -163,18 +163,13 @@ /* ** Implementation of /json/wiki/get. ** */ static cson_value * json_wiki_get(){ - int rid; - Manifest *pWiki = 0; - char const * zBody = NULL; char const * zPageName; char const * zFormat = NULL; - char * zUuid = NULL; char contentFormat = -1; - Stmt q; if( !g.perm.RdWiki && !g.perm.Read ){ json_set_err(FSL_JSON_E_DENIED, "Requires 'o' or 'j' access."); return NULL; }