Fossil SCM

Merge wideAnnotateUser and jsonWarnings into trunk.

drh 2012-02-24 13:40 trunk merge
Commit 18dd383e5e7684ecee327d3de7d3ff846069d1b2
+2 -2
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
17751775
const char *zUuid = db_column_text(&q, 1);
17761776
const char *zDate = db_column_text(&q, 2);
17771777
const char *zUser = db_column_text(&q, 3);
17781778
if( webLabel ){
17791779
zLabel = mprintf(
1780
- "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %9.9s",
1780
+ "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %13.13s",
17811781
g.zTop, zUuid, zUuid, zDate, zUser
17821782
);
17831783
}else{
1784
- zLabel = mprintf("%.10s %s %9.9s", zUuid, zDate, zUser);
1784
+ zLabel = mprintf("%.10s %s %13.13s", zUuid, zDate, zUser);
17851785
}
17861786
p->nVers++;
17871787
p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
17881788
p->azVers[p->nVers-1] = zLabel;
17891789
content_get(pid, &step);
17901790
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
1775 const char *zUuid = db_column_text(&q, 1);
1776 const char *zDate = db_column_text(&q, 2);
1777 const char *zUser = db_column_text(&q, 3);
1778 if( webLabel ){
1779 zLabel = mprintf(
1780 "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %9.9s",
1781 g.zTop, zUuid, zUuid, zDate, zUser
1782 );
1783 }else{
1784 zLabel = mprintf("%.10s %s %9.9s", zUuid, zDate, zUser);
1785 }
1786 p->nVers++;
1787 p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
1788 p->azVers[p->nVers-1] = zLabel;
1789 content_get(pid, &step);
1790
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
1775 const char *zUuid = db_column_text(&q, 1);
1776 const char *zDate = db_column_text(&q, 2);
1777 const char *zUser = db_column_text(&q, 3);
1778 if( webLabel ){
1779 zLabel = mprintf(
1780 "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %13.13s",
1781 g.zTop, zUuid, zUuid, zDate, zUser
1782 );
1783 }else{
1784 zLabel = mprintf("%.10s %s %13.13s", zUuid, zDate, zUser);
1785 }
1786 p->nVers++;
1787 p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
1788 p->azVers[p->nVers-1] = zLabel;
1789 content_get(pid, &step);
1790
+2 -2
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
17751775
const char *zUuid = db_column_text(&q, 1);
17761776
const char *zDate = db_column_text(&q, 2);
17771777
const char *zUser = db_column_text(&q, 3);
17781778
if( webLabel ){
17791779
zLabel = mprintf(
1780
- "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %9.9s",
1780
+ "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %13.13s",
17811781
g.zTop, zUuid, zUuid, zDate, zUser
17821782
);
17831783
}else{
1784
- zLabel = mprintf("%.10s %s %9.9s", zUuid, zDate, zUser);
1784
+ zLabel = mprintf("%.10s %s %13.13s", zUuid, zDate, zUser);
17851785
}
17861786
p->nVers++;
17871787
p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
17881788
p->azVers[p->nVers-1] = zLabel;
17891789
content_get(pid, &step);
17901790
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
1775 const char *zUuid = db_column_text(&q, 1);
1776 const char *zDate = db_column_text(&q, 2);
1777 const char *zUser = db_column_text(&q, 3);
1778 if( webLabel ){
1779 zLabel = mprintf(
1780 "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %9.9s",
1781 g.zTop, zUuid, zUuid, zDate, zUser
1782 );
1783 }else{
1784 zLabel = mprintf("%.10s %s %9.9s", zUuid, zDate, zUser);
1785 }
1786 p->nVers++;
1787 p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
1788 p->azVers[p->nVers-1] = zLabel;
1789 content_get(pid, &step);
1790
--- src/diff.c
+++ src/diff.c
@@ -1775,15 +1775,15 @@
1775 const char *zUuid = db_column_text(&q, 1);
1776 const char *zDate = db_column_text(&q, 2);
1777 const char *zUser = db_column_text(&q, 3);
1778 if( webLabel ){
1779 zLabel = mprintf(
1780 "<a href='%s/info/%s' target='infowindow'>%.10s</a> %s %13.13s",
1781 g.zTop, zUuid, zUuid, zDate, zUser
1782 );
1783 }else{
1784 zLabel = mprintf("%.10s %s %13.13s", zUuid, zDate, zUser);
1785 }
1786 p->nVers++;
1787 p->azVers = fossil_realloc(p->azVers, p->nVers*sizeof(p->azVers[0]) );
1788 p->azVers[p->nVers-1] = zLabel;
1789 content_get(pid, &step);
1790
+3 -6
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
8484
** Print the timing results.
8585
*/
8686
static double endTimer(void){
8787
struct rusage sEnd;
8888
getrusage(RUSAGE_SELF, &sEnd);
89
- return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
90
- + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
9189
#if 0
9290
printf("CPU Time: user %f sys %f\n",
9391
timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
9492
timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
9593
#endif
94
+ return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
95
+ + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
9696
}
9797
9898
#define BEGIN_TIMER beginTimer()
9999
#define END_TIMER endTimer()
100100
#define HAS_TIMER 1
@@ -162,10 +162,11 @@
162162
FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163163
getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164164
return timeDiff(&ftUserBegin, &ftUserEnd) +
165165
timeDiff(&ftKernelBegin, &ftKernelEnd);
166166
}
167
+ return 0.0;
167168
}
168169
169170
#define BEGIN_TIMER beginTimer()
170171
#define END_TIMER endTimer()
171172
#define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
912913
cson_array * target ){
913914
char const * p = zStr /* current byte */;
914915
char const * head /* current start-of-token */;
915916
unsigned int len = 0 /* current token's length */;
916917
int rc = 0 /* return code (number of added elements)*/;
917
- char skipWs = fossil_isspace(separator) ? 0 : 1;
918918
assert( zStr && target );
919919
while( fossil_isspace(*p) ){
920920
++p;
921921
}
922922
head = p;
@@ -1015,11 +1015,10 @@
10151015
** This must only be called once, or an assertion may be triggered.
10161016
*/
10171017
static void json_mode_bootstrap(){
10181018
static char once = 0 /* guard against multiple runs */;
10191019
char const * zPath = P("PATH_INFO");
1020
- cson_value * pathSplit = NULL;
10211020
assert( (0==once) && "json_mode_bootstrap() called too many times!");
10221021
if( once ){
10231022
return;
10241023
}else{
10251024
once = 1;
@@ -1151,11 +1150,10 @@
11511150
g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
11521151
}
11531152
11541153
{/* set up JSON output formatting options. */
11551154
int indent = -1;
1156
- char const * indentStr = NULL;
11571155
indent = json_find_option_int("indent",NULL,"I",-1);
11581156
g.json.outOpt.indentation = (0>indent)
11591157
? (g.isHTTP ? 0 : 1)
11601158
: (unsigned char)indent;
11611159
g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
13311329
if(!g.json.cmd.a){
13321330
return NULL;
13331331
}else{
13341332
cson_value * rc = NULL;
13351333
Blob path = empty_blob;
1336
- char const * part;
13371334
unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
13381335
unsigned int i = 1;
13391336
for( ; i < aLen; ++i ){
13401337
char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
13411338
if(!part){
13421339
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
84 ** Print the timing results.
85 */
86 static double endTimer(void){
87 struct rusage sEnd;
88 getrusage(RUSAGE_SELF, &sEnd);
89 return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
90 + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
91 #if 0
92 printf("CPU Time: user %f sys %f\n",
93 timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
94 timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
95 #endif
 
 
96 }
97
98 #define BEGIN_TIMER beginTimer()
99 #define END_TIMER endTimer()
100 #define HAS_TIMER 1
@@ -162,10 +162,11 @@
162 FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163 getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164 return timeDiff(&ftUserBegin, &ftUserEnd) +
165 timeDiff(&ftKernelBegin, &ftKernelEnd);
166 }
 
167 }
168
169 #define BEGIN_TIMER beginTimer()
170 #define END_TIMER endTimer()
171 #define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
912 cson_array * target ){
913 char const * p = zStr /* current byte */;
914 char const * head /* current start-of-token */;
915 unsigned int len = 0 /* current token's length */;
916 int rc = 0 /* return code (number of added elements)*/;
917 char skipWs = fossil_isspace(separator) ? 0 : 1;
918 assert( zStr && target );
919 while( fossil_isspace(*p) ){
920 ++p;
921 }
922 head = p;
@@ -1015,11 +1015,10 @@
1015 ** This must only be called once, or an assertion may be triggered.
1016 */
1017 static void json_mode_bootstrap(){
1018 static char once = 0 /* guard against multiple runs */;
1019 char const * zPath = P("PATH_INFO");
1020 cson_value * pathSplit = NULL;
1021 assert( (0==once) && "json_mode_bootstrap() called too many times!");
1022 if( once ){
1023 return;
1024 }else{
1025 once = 1;
@@ -1151,11 +1150,10 @@
1151 g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
1152 }
1153
1154 {/* set up JSON output formatting options. */
1155 int indent = -1;
1156 char const * indentStr = NULL;
1157 indent = json_find_option_int("indent",NULL,"I",-1);
1158 g.json.outOpt.indentation = (0>indent)
1159 ? (g.isHTTP ? 0 : 1)
1160 : (unsigned char)indent;
1161 g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
1331 if(!g.json.cmd.a){
1332 return NULL;
1333 }else{
1334 cson_value * rc = NULL;
1335 Blob path = empty_blob;
1336 char const * part;
1337 unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
1338 unsigned int i = 1;
1339 for( ; i < aLen; ++i ){
1340 char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
1341 if(!part){
1342
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
84 ** Print the timing results.
85 */
86 static double endTimer(void){
87 struct rusage sEnd;
88 getrusage(RUSAGE_SELF, &sEnd);
 
 
89 #if 0
90 printf("CPU Time: user %f sys %f\n",
91 timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
92 timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
93 #endif
94 return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
95 + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
96 }
97
98 #define BEGIN_TIMER beginTimer()
99 #define END_TIMER endTimer()
100 #define HAS_TIMER 1
@@ -162,10 +162,11 @@
162 FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163 getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164 return timeDiff(&ftUserBegin, &ftUserEnd) +
165 timeDiff(&ftKernelBegin, &ftKernelEnd);
166 }
167 return 0.0;
168 }
169
170 #define BEGIN_TIMER beginTimer()
171 #define END_TIMER endTimer()
172 #define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
913 cson_array * target ){
914 char const * p = zStr /* current byte */;
915 char const * head /* current start-of-token */;
916 unsigned int len = 0 /* current token's length */;
917 int rc = 0 /* return code (number of added elements)*/;
 
918 assert( zStr && target );
919 while( fossil_isspace(*p) ){
920 ++p;
921 }
922 head = p;
@@ -1015,11 +1015,10 @@
1015 ** This must only be called once, or an assertion may be triggered.
1016 */
1017 static void json_mode_bootstrap(){
1018 static char once = 0 /* guard against multiple runs */;
1019 char const * zPath = P("PATH_INFO");
 
1020 assert( (0==once) && "json_mode_bootstrap() called too many times!");
1021 if( once ){
1022 return;
1023 }else{
1024 once = 1;
@@ -1151,11 +1150,10 @@
1150 g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
1151 }
1152
1153 {/* set up JSON output formatting options. */
1154 int indent = -1;
 
1155 indent = json_find_option_int("indent",NULL,"I",-1);
1156 g.json.outOpt.indentation = (0>indent)
1157 ? (g.isHTTP ? 0 : 1)
1158 : (unsigned char)indent;
1159 g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
1329 if(!g.json.cmd.a){
1330 return NULL;
1331 }else{
1332 cson_value * rc = NULL;
1333 Blob path = empty_blob;
 
1334 unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
1335 unsigned int i = 1;
1336 for( ; i < aLen; ++i ){
1337 char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
1338 if(!part){
1339
+3 -6
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
8484
** Print the timing results.
8585
*/
8686
static double endTimer(void){
8787
struct rusage sEnd;
8888
getrusage(RUSAGE_SELF, &sEnd);
89
- return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
90
- + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
9189
#if 0
9290
printf("CPU Time: user %f sys %f\n",
9391
timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
9492
timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
9593
#endif
94
+ return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
95
+ + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
9696
}
9797
9898
#define BEGIN_TIMER beginTimer()
9999
#define END_TIMER endTimer()
100100
#define HAS_TIMER 1
@@ -162,10 +162,11 @@
162162
FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163163
getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164164
return timeDiff(&ftUserBegin, &ftUserEnd) +
165165
timeDiff(&ftKernelBegin, &ftKernelEnd);
166166
}
167
+ return 0.0;
167168
}
168169
169170
#define BEGIN_TIMER beginTimer()
170171
#define END_TIMER endTimer()
171172
#define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
912913
cson_array * target ){
913914
char const * p = zStr /* current byte */;
914915
char const * head /* current start-of-token */;
915916
unsigned int len = 0 /* current token's length */;
916917
int rc = 0 /* return code (number of added elements)*/;
917
- char skipWs = fossil_isspace(separator) ? 0 : 1;
918918
assert( zStr && target );
919919
while( fossil_isspace(*p) ){
920920
++p;
921921
}
922922
head = p;
@@ -1015,11 +1015,10 @@
10151015
** This must only be called once, or an assertion may be triggered.
10161016
*/
10171017
static void json_mode_bootstrap(){
10181018
static char once = 0 /* guard against multiple runs */;
10191019
char const * zPath = P("PATH_INFO");
1020
- cson_value * pathSplit = NULL;
10211020
assert( (0==once) && "json_mode_bootstrap() called too many times!");
10221021
if( once ){
10231022
return;
10241023
}else{
10251024
once = 1;
@@ -1151,11 +1150,10 @@
11511150
g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
11521151
}
11531152
11541153
{/* set up JSON output formatting options. */
11551154
int indent = -1;
1156
- char const * indentStr = NULL;
11571155
indent = json_find_option_int("indent",NULL,"I",-1);
11581156
g.json.outOpt.indentation = (0>indent)
11591157
? (g.isHTTP ? 0 : 1)
11601158
: (unsigned char)indent;
11611159
g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
13311329
if(!g.json.cmd.a){
13321330
return NULL;
13331331
}else{
13341332
cson_value * rc = NULL;
13351333
Blob path = empty_blob;
1336
- char const * part;
13371334
unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
13381335
unsigned int i = 1;
13391336
for( ; i < aLen; ++i ){
13401337
char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
13411338
if(!part){
13421339
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
84 ** Print the timing results.
85 */
86 static double endTimer(void){
87 struct rusage sEnd;
88 getrusage(RUSAGE_SELF, &sEnd);
89 return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
90 + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
91 #if 0
92 printf("CPU Time: user %f sys %f\n",
93 timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
94 timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
95 #endif
 
 
96 }
97
98 #define BEGIN_TIMER beginTimer()
99 #define END_TIMER endTimer()
100 #define HAS_TIMER 1
@@ -162,10 +162,11 @@
162 FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163 getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164 return timeDiff(&ftUserBegin, &ftUserEnd) +
165 timeDiff(&ftKernelBegin, &ftKernelEnd);
166 }
 
167 }
168
169 #define BEGIN_TIMER beginTimer()
170 #define END_TIMER endTimer()
171 #define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
912 cson_array * target ){
913 char const * p = zStr /* current byte */;
914 char const * head /* current start-of-token */;
915 unsigned int len = 0 /* current token's length */;
916 int rc = 0 /* return code (number of added elements)*/;
917 char skipWs = fossil_isspace(separator) ? 0 : 1;
918 assert( zStr && target );
919 while( fossil_isspace(*p) ){
920 ++p;
921 }
922 head = p;
@@ -1015,11 +1015,10 @@
1015 ** This must only be called once, or an assertion may be triggered.
1016 */
1017 static void json_mode_bootstrap(){
1018 static char once = 0 /* guard against multiple runs */;
1019 char const * zPath = P("PATH_INFO");
1020 cson_value * pathSplit = NULL;
1021 assert( (0==once) && "json_mode_bootstrap() called too many times!");
1022 if( once ){
1023 return;
1024 }else{
1025 once = 1;
@@ -1151,11 +1150,10 @@
1151 g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
1152 }
1153
1154 {/* set up JSON output formatting options. */
1155 int indent = -1;
1156 char const * indentStr = NULL;
1157 indent = json_find_option_int("indent",NULL,"I",-1);
1158 g.json.outOpt.indentation = (0>indent)
1159 ? (g.isHTTP ? 0 : 1)
1160 : (unsigned char)indent;
1161 g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
1331 if(!g.json.cmd.a){
1332 return NULL;
1333 }else{
1334 cson_value * rc = NULL;
1335 Blob path = empty_blob;
1336 char const * part;
1337 unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
1338 unsigned int i = 1;
1339 for( ; i < aLen; ++i ){
1340 char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
1341 if(!part){
1342
--- src/json.c
+++ src/json.c
@@ -84,17 +84,17 @@
84 ** Print the timing results.
85 */
86 static double endTimer(void){
87 struct rusage sEnd;
88 getrusage(RUSAGE_SELF, &sEnd);
 
 
89 #if 0
90 printf("CPU Time: user %f sys %f\n",
91 timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
92 timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
93 #endif
94 return timeDiff(&sBegin.ru_utime, &sEnd.ru_utime)
95 + timeDiff(&sBegin.ru_stime, &sEnd.ru_stime);
96 }
97
98 #define BEGIN_TIMER beginTimer()
99 #define END_TIMER endTimer()
100 #define HAS_TIMER 1
@@ -162,10 +162,11 @@
162 FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
163 getProcessTimesAddr(hProcess, &ftCreation, &ftExit, &ftKernelEnd, &ftUserEnd);
164 return timeDiff(&ftUserBegin, &ftUserEnd) +
165 timeDiff(&ftKernelBegin, &ftKernelEnd);
166 }
167 return 0.0;
168 }
169
170 #define BEGIN_TIMER beginTimer()
171 #define END_TIMER endTimer()
172 #define HAS_TIMER hasTimer()
@@ -912,11 +913,10 @@
913 cson_array * target ){
914 char const * p = zStr /* current byte */;
915 char const * head /* current start-of-token */;
916 unsigned int len = 0 /* current token's length */;
917 int rc = 0 /* return code (number of added elements)*/;
 
918 assert( zStr && target );
919 while( fossil_isspace(*p) ){
920 ++p;
921 }
922 head = p;
@@ -1015,11 +1015,10 @@
1015 ** This must only be called once, or an assertion may be triggered.
1016 */
1017 static void json_mode_bootstrap(){
1018 static char once = 0 /* guard against multiple runs */;
1019 char const * zPath = P("PATH_INFO");
 
1020 assert( (0==once) && "json_mode_bootstrap() called too many times!");
1021 if( once ){
1022 return;
1023 }else{
1024 once = 1;
@@ -1151,11 +1150,10 @@
1150 g.json.errorDetailParanoia = 0 /*disable error code dumb-down for CLI mode*/;
1151 }
1152
1153 {/* set up JSON output formatting options. */
1154 int indent = -1;
 
1155 indent = json_find_option_int("indent",NULL,"I",-1);
1156 g.json.outOpt.indentation = (0>indent)
1157 ? (g.isHTTP ? 0 : 1)
1158 : (unsigned char)indent;
1159 g.json.outOpt.addNewline = g.isHTTP
@@ -1331,11 +1329,10 @@
1329 if(!g.json.cmd.a){
1330 return NULL;
1331 }else{
1332 cson_value * rc = NULL;
1333 Blob path = empty_blob;
 
1334 unsigned int aLen = g.json.dispatchDepth+1; /*cson_array_length_get(g.json.cmd.a);*/
1335 unsigned int i = 1;
1336 for( ; i < aLen; ++i ){
1337 char const * part = cson_string_cstr(cson_value_get_string(cson_array_get(g.json.cmd.a, i)));
1338 if(!part){
1339
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
8585
);
8686
if( db_step(&q)==SQLITE_ROW ){
8787
cson_object * o;
8888
cson_value * tmpV = NULL;
8989
const char *zUuid = db_column_text(&q, 0);
90
- char * zTmp;
9190
const char *zUser;
9291
const char *zComment;
9392
char * zEUser, * zEComment;
9493
int mtime, omtime;
9594
v = cson_value_new_object();
9695
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
85 );
86 if( db_step(&q)==SQLITE_ROW ){
87 cson_object * o;
88 cson_value * tmpV = NULL;
89 const char *zUuid = db_column_text(&q, 0);
90 char * zTmp;
91 const char *zUser;
92 const char *zComment;
93 char * zEUser, * zEComment;
94 int mtime, omtime;
95 v = cson_value_new_object();
96
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
85 );
86 if( db_step(&q)==SQLITE_ROW ){
87 cson_object * o;
88 cson_value * tmpV = NULL;
89 const char *zUuid = db_column_text(&q, 0);
 
90 const char *zUser;
91 const char *zComment;
92 char * zEUser, * zEComment;
93 int mtime, omtime;
94 v = cson_value_new_object();
95
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
8585
);
8686
if( db_step(&q)==SQLITE_ROW ){
8787
cson_object * o;
8888
cson_value * tmpV = NULL;
8989
const char *zUuid = db_column_text(&q, 0);
90
- char * zTmp;
9190
const char *zUser;
9291
const char *zComment;
9392
char * zEUser, * zEComment;
9493
int mtime, omtime;
9594
v = cson_value_new_object();
9695
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
85 );
86 if( db_step(&q)==SQLITE_ROW ){
87 cson_object * o;
88 cson_value * tmpV = NULL;
89 const char *zUuid = db_column_text(&q, 0);
90 char * zTmp;
91 const char *zUser;
92 const char *zComment;
93 char * zEUser, * zEComment;
94 int mtime, omtime;
95 v = cson_value_new_object();
96
--- src/json_artifact.c
+++ src/json_artifact.c
@@ -85,11 +85,10 @@
85 );
86 if( db_step(&q)==SQLITE_ROW ){
87 cson_object * o;
88 cson_value * tmpV = NULL;
89 const char *zUuid = db_column_text(&q, 0);
 
90 const char *zUser;
91 const char *zComment;
92 char * zEUser, * zEComment;
93 int mtime, omtime;
94 v = cson_value_new_object();
95
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
3737
int fromid;
3838
int toid;
3939
int outLen;
4040
Blob from = empty_blob, to = empty_blob, out = empty_blob;
4141
cson_value * rc = NULL;
42
- char const * zType = "ci";
4342
int flags = (DIFF_CONTEXT_MASK & nContext)
4443
| (fSbs ? DIFF_SIDEBYSIDE : 0);
4544
fromid = name_to_typed_rid(zFrom, "*");
4645
if(fromid<=0){
4746
json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
4847
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
37 int fromid;
38 int toid;
39 int outLen;
40 Blob from = empty_blob, to = empty_blob, out = empty_blob;
41 cson_value * rc = NULL;
42 char const * zType = "ci";
43 int flags = (DIFF_CONTEXT_MASK & nContext)
44 | (fSbs ? DIFF_SIDEBYSIDE : 0);
45 fromid = name_to_typed_rid(zFrom, "*");
46 if(fromid<=0){
47 json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
48
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
37 int fromid;
38 int toid;
39 int outLen;
40 Blob from = empty_blob, to = empty_blob, out = empty_blob;
41 cson_value * rc = NULL;
 
42 int flags = (DIFF_CONTEXT_MASK & nContext)
43 | (fSbs ? DIFF_SIDEBYSIDE : 0);
44 fromid = name_to_typed_rid(zFrom, "*");
45 if(fromid<=0){
46 json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
47
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
3737
int fromid;
3838
int toid;
3939
int outLen;
4040
Blob from = empty_blob, to = empty_blob, out = empty_blob;
4141
cson_value * rc = NULL;
42
- char const * zType = "ci";
4342
int flags = (DIFF_CONTEXT_MASK & nContext)
4443
| (fSbs ? DIFF_SIDEBYSIDE : 0);
4544
fromid = name_to_typed_rid(zFrom, "*");
4645
if(fromid<=0){
4746
json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
4847
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
37 int fromid;
38 int toid;
39 int outLen;
40 Blob from = empty_blob, to = empty_blob, out = empty_blob;
41 cson_value * rc = NULL;
42 char const * zType = "ci";
43 int flags = (DIFF_CONTEXT_MASK & nContext)
44 | (fSbs ? DIFF_SIDEBYSIDE : 0);
45 fromid = name_to_typed_rid(zFrom, "*");
46 if(fromid<=0){
47 json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
48
--- src/json_diff.c
+++ src/json_diff.c
@@ -37,11 +37,10 @@
37 int fromid;
38 int toid;
39 int outLen;
40 Blob from = empty_blob, to = empty_blob, out = empty_blob;
41 cson_value * rc = NULL;
 
42 int flags = (DIFF_CONTEXT_MASK & nContext)
43 | (fSbs ? DIFF_SIDEBYSIDE : 0);
44 fromid = name_to_typed_rid(zFrom, "*");
45 if(fromid<=0){
46 json_set_err(FSL_JSON_E_UNRESOLVED_UUID,
47
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405405
cson_value_free( cson_string_value(tags) );
406406
cson_value_free( cson_string_value(isLeaf) );
407407
}
408408
409409
goto end;
410
- error:
410
+
411411
assert( 0 != g.json.resultCode );
412412
cson_value_free(pay);
413413
414414
end:
415415
return pay;
@@ -429,11 +429,10 @@
429429
cson_array * list = NULL;
430430
int check = 0;
431431
char showFiles = -1/*magic number*/;
432432
Stmt q = empty_Stmt;
433433
char warnRowToJsonFailed = 0;
434
- char warnStringToArrayFailed = 0;
435434
Blob sql = empty_blob;
436435
if( !g.perm.Read ){
437436
/* IMO this falls more under the category of g.perm.History, but
438437
i'm following the original timeline impl here.
439438
*/
440439
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405 cson_value_free( cson_string_value(tags) );
406 cson_value_free( cson_string_value(isLeaf) );
407 }
408
409 goto end;
410 error:
411 assert( 0 != g.json.resultCode );
412 cson_value_free(pay);
413
414 end:
415 return pay;
@@ -429,11 +429,10 @@
429 cson_array * list = NULL;
430 int check = 0;
431 char showFiles = -1/*magic number*/;
432 Stmt q = empty_Stmt;
433 char warnRowToJsonFailed = 0;
434 char warnStringToArrayFailed = 0;
435 Blob sql = empty_blob;
436 if( !g.perm.Read ){
437 /* IMO this falls more under the category of g.perm.History, but
438 i'm following the original timeline impl here.
439 */
440
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405 cson_value_free( cson_string_value(tags) );
406 cson_value_free( cson_string_value(isLeaf) );
407 }
408
409 goto end;
410
411 assert( 0 != g.json.resultCode );
412 cson_value_free(pay);
413
414 end:
415 return pay;
@@ -429,11 +429,10 @@
429 cson_array * list = NULL;
430 int check = 0;
431 char showFiles = -1/*magic number*/;
432 Stmt q = empty_Stmt;
433 char warnRowToJsonFailed = 0;
 
434 Blob sql = empty_blob;
435 if( !g.perm.Read ){
436 /* IMO this falls more under the category of g.perm.History, but
437 i'm following the original timeline impl here.
438 */
439
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405405
cson_value_free( cson_string_value(tags) );
406406
cson_value_free( cson_string_value(isLeaf) );
407407
}
408408
409409
goto end;
410
- error:
410
+
411411
assert( 0 != g.json.resultCode );
412412
cson_value_free(pay);
413413
414414
end:
415415
return pay;
@@ -429,11 +429,10 @@
429429
cson_array * list = NULL;
430430
int check = 0;
431431
char showFiles = -1/*magic number*/;
432432
Stmt q = empty_Stmt;
433433
char warnRowToJsonFailed = 0;
434
- char warnStringToArrayFailed = 0;
435434
Blob sql = empty_blob;
436435
if( !g.perm.Read ){
437436
/* IMO this falls more under the category of g.perm.History, but
438437
i'm following the original timeline impl here.
439438
*/
440439
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405 cson_value_free( cson_string_value(tags) );
406 cson_value_free( cson_string_value(isLeaf) );
407 }
408
409 goto end;
410 error:
411 assert( 0 != g.json.resultCode );
412 cson_value_free(pay);
413
414 end:
415 return pay;
@@ -429,11 +429,10 @@
429 cson_array * list = NULL;
430 int check = 0;
431 char showFiles = -1/*magic number*/;
432 Stmt q = empty_Stmt;
433 char warnRowToJsonFailed = 0;
434 char warnStringToArrayFailed = 0;
435 Blob sql = empty_blob;
436 if( !g.perm.Read ){
437 /* IMO this falls more under the category of g.perm.History, but
438 i'm following the original timeline impl here.
439 */
440
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -405,11 +405,11 @@
405 cson_value_free( cson_string_value(tags) );
406 cson_value_free( cson_string_value(isLeaf) );
407 }
408
409 goto end;
410
411 assert( 0 != g.json.resultCode );
412 cson_value_free(pay);
413
414 end:
415 return pay;
@@ -429,11 +429,10 @@
429 cson_array * list = NULL;
430 int check = 0;
431 char showFiles = -1/*magic number*/;
432 Stmt q = empty_Stmt;
433 char warnRowToJsonFailed = 0;
 
434 Blob sql = empty_blob;
435 if( !g.perm.Read ){
436 /* IMO this falls more under the category of g.perm.History, but
437 i'm following the original timeline impl here.
438 */
439
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163163
/*
164164
** Implementation of /json/wiki/get.
165165
**
166166
*/
167167
static cson_value * json_wiki_get(){
168
- int rid;
169
- Manifest *pWiki = 0;
170
- char const * zBody = NULL;
171168
char const * zPageName;
172169
char const * zFormat = NULL;
173
- char * zUuid = NULL;
174170
char contentFormat = -1;
175
- Stmt q;
176171
if( !g.perm.RdWiki && !g.perm.Read ){
177172
json_set_err(FSL_JSON_E_DENIED,
178173
"Requires 'o' or 'j' access.");
179174
return NULL;
180175
}
181176
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163 /*
164 ** Implementation of /json/wiki/get.
165 **
166 */
167 static cson_value * json_wiki_get(){
168 int rid;
169 Manifest *pWiki = 0;
170 char const * zBody = NULL;
171 char const * zPageName;
172 char const * zFormat = NULL;
173 char * zUuid = NULL;
174 char contentFormat = -1;
175 Stmt q;
176 if( !g.perm.RdWiki && !g.perm.Read ){
177 json_set_err(FSL_JSON_E_DENIED,
178 "Requires 'o' or 'j' access.");
179 return NULL;
180 }
181
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163 /*
164 ** Implementation of /json/wiki/get.
165 **
166 */
167 static cson_value * json_wiki_get(){
 
 
 
168 char const * zPageName;
169 char const * zFormat = NULL;
 
170 char contentFormat = -1;
 
171 if( !g.perm.RdWiki && !g.perm.Read ){
172 json_set_err(FSL_JSON_E_DENIED,
173 "Requires 'o' or 'j' access.");
174 return NULL;
175 }
176
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163163
/*
164164
** Implementation of /json/wiki/get.
165165
**
166166
*/
167167
static cson_value * json_wiki_get(){
168
- int rid;
169
- Manifest *pWiki = 0;
170
- char const * zBody = NULL;
171168
char const * zPageName;
172169
char const * zFormat = NULL;
173
- char * zUuid = NULL;
174170
char contentFormat = -1;
175
- Stmt q;
176171
if( !g.perm.RdWiki && !g.perm.Read ){
177172
json_set_err(FSL_JSON_E_DENIED,
178173
"Requires 'o' or 'j' access.");
179174
return NULL;
180175
}
181176
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163 /*
164 ** Implementation of /json/wiki/get.
165 **
166 */
167 static cson_value * json_wiki_get(){
168 int rid;
169 Manifest *pWiki = 0;
170 char const * zBody = NULL;
171 char const * zPageName;
172 char const * zFormat = NULL;
173 char * zUuid = NULL;
174 char contentFormat = -1;
175 Stmt q;
176 if( !g.perm.RdWiki && !g.perm.Read ){
177 json_set_err(FSL_JSON_E_DENIED,
178 "Requires 'o' or 'j' access.");
179 return NULL;
180 }
181
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -163,18 +163,13 @@
163 /*
164 ** Implementation of /json/wiki/get.
165 **
166 */
167 static cson_value * json_wiki_get(){
 
 
 
168 char const * zPageName;
169 char const * zFormat = NULL;
 
170 char contentFormat = -1;
 
171 if( !g.perm.RdWiki && !g.perm.Read ){
172 json_set_err(FSL_JSON_E_DENIED,
173 "Requires 'o' or 'j' access.");
174 return NULL;
175 }
176

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button