Fossil SCM

Increase minimum SQLite requirement to 3.7.17, and make efficient use of the function sqlite3_strglob. This eliminates unnecessand sqlite

jan.nijtmans 2014-01-04 20:51 UTC trunk
Commit c8c564687929e42ce202292690a4a3506328f5c3
+3 -3
--- auto.def
+++ auto.def
@@ -41,17 +41,17 @@
4141
# the code below will append -ldl to LIBS.
4242
#
4343
foreach extralibs {{} {-ldl}} {
4444
4545
# Locate the system SQLite by searching for sqlite3_open(). Then check
46
- # if sqlite3_wal_checkpoint() can be found as well. If we can find
46
+ # if sqlite3_strglob() can be found as well. If we can find
4747
# open() but not wal_checkpoint(), then the system SQLite is too old
4848
# to link against fossil.
4949
#
5050
if {[cc-check-function-in-lib sqlite3_open sqlite3 $extralibs]} {
51
- if {![cc-check-function-in-lib sqlite3_wal_checkpoint sqlite3 $extralibs]} {
52
- user-error "system sqlite3 too old (require >= 3.7.0)"
51
+ if {![cc-check-function-in-lib sqlite3_strglob sqlite3 $extralibs]} {
52
+ user-error "system sqlite3 too old (require >= 3.7.17)"
5353
}
5454
5555
# Success. Update symbols and return.
5656
#
5757
define USE_SYSTEM_SQLITE 1
5858
--- auto.def
+++ auto.def
@@ -41,17 +41,17 @@
41 # the code below will append -ldl to LIBS.
42 #
43 foreach extralibs {{} {-ldl}} {
44
45 # Locate the system SQLite by searching for sqlite3_open(). Then check
46 # if sqlite3_wal_checkpoint() can be found as well. If we can find
47 # open() but not wal_checkpoint(), then the system SQLite is too old
48 # to link against fossil.
49 #
50 if {[cc-check-function-in-lib sqlite3_open sqlite3 $extralibs]} {
51 if {![cc-check-function-in-lib sqlite3_wal_checkpoint sqlite3 $extralibs]} {
52 user-error "system sqlite3 too old (require >= 3.7.0)"
53 }
54
55 # Success. Update symbols and return.
56 #
57 define USE_SYSTEM_SQLITE 1
58
--- auto.def
+++ auto.def
@@ -41,17 +41,17 @@
41 # the code below will append -ldl to LIBS.
42 #
43 foreach extralibs {{} {-ldl}} {
44
45 # Locate the system SQLite by searching for sqlite3_open(). Then check
46 # if sqlite3_strglob() can be found as well. If we can find
47 # open() but not wal_checkpoint(), then the system SQLite is too old
48 # to link against fossil.
49 #
50 if {[cc-check-function-in-lib sqlite3_open sqlite3 $extralibs]} {
51 if {![cc-check-function-in-lib sqlite3_strglob sqlite3 $extralibs]} {
52 user-error "system sqlite3 too old (require >= 3.7.17)"
53 }
54
55 # Success. Update symbols and return.
56 #
57 define USE_SYSTEM_SQLITE 1
58
+1 -3
--- src/browse.c
+++ src/browse.c
@@ -507,13 +507,11 @@
507507
508508
db_multi_exec(
509509
"CREATE TEMP TABLE filelist("
510510
" x TEXT PRIMARY KEY COLLATE nocase,"
511511
" uuid TEXT"
512
- ")%s;",
513
- /* Can be removed as soon as SQLite 3.8.2 is sufficiently wide-spread */
514
- sqlite3_libversion_number()>=3008002 ? " WITHOUT ROWID" : ""
512
+ ");"
515513
);
516514
db_prepare(&ins, "INSERT OR IGNORE INTO filelist VALUES(:f,:u)");
517515
manifest_file_rewind(pM);
518516
while( (pFile = manifest_file_next(pM,0))!=0 ){
519517
if( nD>0
520518
--- src/browse.c
+++ src/browse.c
@@ -507,13 +507,11 @@
507
508 db_multi_exec(
509 "CREATE TEMP TABLE filelist("
510 " x TEXT PRIMARY KEY COLLATE nocase,"
511 " uuid TEXT"
512 ")%s;",
513 /* Can be removed as soon as SQLite 3.8.2 is sufficiently wide-spread */
514 sqlite3_libversion_number()>=3008002 ? " WITHOUT ROWID" : ""
515 );
516 db_prepare(&ins, "INSERT OR IGNORE INTO filelist VALUES(:f,:u)");
517 manifest_file_rewind(pM);
518 while( (pFile = manifest_file_next(pM,0))!=0 ){
519 if( nD>0
520
--- src/browse.c
+++ src/browse.c
@@ -507,13 +507,11 @@
507
508 db_multi_exec(
509 "CREATE TEMP TABLE filelist("
510 " x TEXT PRIMARY KEY COLLATE nocase,"
511 " uuid TEXT"
512 ");"
 
 
513 );
514 db_prepare(&ins, "INSERT OR IGNORE INTO filelist VALUES(:f,:u)");
515 manifest_file_rewind(pM);
516 while( (pFile = manifest_file_next(pM,0))!=0 ){
517 if( nD>0
518
+2 -2
--- src/cgi.c
+++ src/cgi.c
@@ -277,12 +277,12 @@
277277
** Return true if the response should be sent with Content-Encoding: gzip.
278278
*/
279279
static int is_gzippable(void){
280280
if( strstr(PD("HTTP_ACCEPT_ENCODING", ""), "gzip")==0 ) return 0;
281281
return strncmp(zContentType, "text/", 5)==0
282
- || strglob("application/*xml", zContentType)
283
- || strglob("application/*javascript", zContentType);
282
+ || sqlite3_strglob("application/*xml", zContentType)
283
+ || sqlite3_strglob("application/*javascript", zContentType);
284284
}
285285
286286
/*
287287
** Do a normal HTTP reply
288288
*/
289289
--- src/cgi.c
+++ src/cgi.c
@@ -277,12 +277,12 @@
277 ** Return true if the response should be sent with Content-Encoding: gzip.
278 */
279 static int is_gzippable(void){
280 if( strstr(PD("HTTP_ACCEPT_ENCODING", ""), "gzip")==0 ) return 0;
281 return strncmp(zContentType, "text/", 5)==0
282 || strglob("application/*xml", zContentType)
283 || strglob("application/*javascript", zContentType);
284 }
285
286 /*
287 ** Do a normal HTTP reply
288 */
289
--- src/cgi.c
+++ src/cgi.c
@@ -277,12 +277,12 @@
277 ** Return true if the response should be sent with Content-Encoding: gzip.
278 */
279 static int is_gzippable(void){
280 if( strstr(PD("HTTP_ACCEPT_ENCODING", ""), "gzip")==0 ) return 0;
281 return strncmp(zContentType, "text/", 5)==0
282 || sqlite3_strglob("application/*xml", zContentType)
283 || sqlite3_strglob("application/*javascript", zContentType);
284 }
285
286 /*
287 ** Do a normal HTTP reply
288 */
289
+3 -3
--- src/db.c
+++ src/db.c
@@ -867,11 +867,11 @@
867867
" WHERE name=='%s' /*scan*/",
868868
db_name("localdb"), zTable);
869869
int rc = 0;
870870
if( zDef ){
871871
char *zPattern = mprintf("* %s *", zColumn);
872
- rc = strglob(zPattern, zDef)==0;
872
+ rc = sqlite3_strglob(zPattern, zDef)==0;
873873
fossil_free(zPattern);
874874
fossil_free(zDef);
875875
}
876876
return rc;
877877
}
@@ -894,19 +894,19 @@
894894
895895
/* If the "isexe" column is missing from the vfile table, then
896896
** add it now. This code added on 2010-03-06. After all users have
897897
** upgraded, this code can be safely deleted.
898898
*/
899
- if( !strglob("* isexe *", zVFileDef) ){
899
+ if( !sqlite3_strglob("* isexe *", zVFileDef) ){
900900
db_multi_exec("ALTER TABLE vfile ADD COLUMN isexe BOOLEAN DEFAULT 0");
901901
}
902902
903903
/* If "islink"/"isLink" columns are missing from tables, then
904904
** add them now. This code added on 2011-01-17 and 2011-08-27.
905905
** After all users have upgraded, this code can be safely deleted.
906906
*/
907
- if( !strglob("* islink *", zVFileDef) ){
907
+ if( !sqlite3_strglob("* islink *", zVFileDef) ){
908908
db_multi_exec("ALTER TABLE vfile ADD COLUMN islink BOOLEAN DEFAULT 0");
909909
if( db_local_table_exists_but_lacks_column("stashfile", "isLink") ){
910910
db_multi_exec("ALTER TABLE stashfile ADD COLUMN isLink BOOL DEFAULT 0");
911911
}
912912
if( db_local_table_exists_but_lacks_column("undo", "isLink") ){
913913
--- src/db.c
+++ src/db.c
@@ -867,11 +867,11 @@
867 " WHERE name=='%s' /*scan*/",
868 db_name("localdb"), zTable);
869 int rc = 0;
870 if( zDef ){
871 char *zPattern = mprintf("* %s *", zColumn);
872 rc = strglob(zPattern, zDef)==0;
873 fossil_free(zPattern);
874 fossil_free(zDef);
875 }
876 return rc;
877 }
@@ -894,19 +894,19 @@
894
895 /* If the "isexe" column is missing from the vfile table, then
896 ** add it now. This code added on 2010-03-06. After all users have
897 ** upgraded, this code can be safely deleted.
898 */
899 if( !strglob("* isexe *", zVFileDef) ){
900 db_multi_exec("ALTER TABLE vfile ADD COLUMN isexe BOOLEAN DEFAULT 0");
901 }
902
903 /* If "islink"/"isLink" columns are missing from tables, then
904 ** add them now. This code added on 2011-01-17 and 2011-08-27.
905 ** After all users have upgraded, this code can be safely deleted.
906 */
907 if( !strglob("* islink *", zVFileDef) ){
908 db_multi_exec("ALTER TABLE vfile ADD COLUMN islink BOOLEAN DEFAULT 0");
909 if( db_local_table_exists_but_lacks_column("stashfile", "isLink") ){
910 db_multi_exec("ALTER TABLE stashfile ADD COLUMN isLink BOOL DEFAULT 0");
911 }
912 if( db_local_table_exists_but_lacks_column("undo", "isLink") ){
913
--- src/db.c
+++ src/db.c
@@ -867,11 +867,11 @@
867 " WHERE name=='%s' /*scan*/",
868 db_name("localdb"), zTable);
869 int rc = 0;
870 if( zDef ){
871 char *zPattern = mprintf("* %s *", zColumn);
872 rc = sqlite3_strglob(zPattern, zDef)==0;
873 fossil_free(zPattern);
874 fossil_free(zDef);
875 }
876 return rc;
877 }
@@ -894,19 +894,19 @@
894
895 /* If the "isexe" column is missing from the vfile table, then
896 ** add it now. This code added on 2010-03-06. After all users have
897 ** upgraded, this code can be safely deleted.
898 */
899 if( !sqlite3_strglob("* isexe *", zVFileDef) ){
900 db_multi_exec("ALTER TABLE vfile ADD COLUMN isexe BOOLEAN DEFAULT 0");
901 }
902
903 /* If "islink"/"isLink" columns are missing from tables, then
904 ** add them now. This code added on 2011-01-17 and 2011-08-27.
905 ** After all users have upgraded, this code can be safely deleted.
906 */
907 if( !sqlite3_strglob("* islink *", zVFileDef) ){
908 db_multi_exec("ALTER TABLE vfile ADD COLUMN islink BOOLEAN DEFAULT 0");
909 if( db_local_table_exists_but_lacks_column("stashfile", "isLink") ){
910 db_multi_exec("ALTER TABLE stashfile ADD COLUMN isLink BOOL DEFAULT 0");
911 }
912 if( db_local_table_exists_but_lacks_column("undo", "isLink") ){
913
+4 -4
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -923,17 +923,17 @@
923923
blob_appendf(&script, "set fossilcmd {| \"%/\" %s --html -y -i -v",
924924
g.nameOfExe, zSubCmd);
925925
for(i=firstArg; i<g.argc; i++){
926926
const char *z = g.argv[i];
927927
if( z[0]=='-' ){
928
- if( strglob("*-html",z) ) continue;
929
- if( strglob("*-y",z) ) continue;
930
- if( strglob("*-i",z) ) continue;
928
+ if( sqlite3_strglob("*-html",z) ) continue;
929
+ if( sqlite3_strglob("*-y",z) ) continue;
930
+ if( sqlite3_strglob("*-i",z) ) continue;
931931
/* The undocumented --script FILENAME option causes the Tk script to
932932
** be written into the FILENAME instead of being run. This is used
933933
** for testing and debugging. */
934
- if( strglob("*-script",z) && i<g.argc-1 ){
934
+ if( sqlite3_strglob("*-script",z) && i<g.argc-1 ){
935935
i++;
936936
zTempFile = g.argv[i];
937937
continue;
938938
}
939939
}
940940
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -923,17 +923,17 @@
923 blob_appendf(&script, "set fossilcmd {| \"%/\" %s --html -y -i -v",
924 g.nameOfExe, zSubCmd);
925 for(i=firstArg; i<g.argc; i++){
926 const char *z = g.argv[i];
927 if( z[0]=='-' ){
928 if( strglob("*-html",z) ) continue;
929 if( strglob("*-y",z) ) continue;
930 if( strglob("*-i",z) ) continue;
931 /* The undocumented --script FILENAME option causes the Tk script to
932 ** be written into the FILENAME instead of being run. This is used
933 ** for testing and debugging. */
934 if( strglob("*-script",z) && i<g.argc-1 ){
935 i++;
936 zTempFile = g.argv[i];
937 continue;
938 }
939 }
940
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -923,17 +923,17 @@
923 blob_appendf(&script, "set fossilcmd {| \"%/\" %s --html -y -i -v",
924 g.nameOfExe, zSubCmd);
925 for(i=firstArg; i<g.argc; i++){
926 const char *z = g.argv[i];
927 if( z[0]=='-' ){
928 if( sqlite3_strglob("*-html",z) ) continue;
929 if( sqlite3_strglob("*-y",z) ) continue;
930 if( sqlite3_strglob("*-i",z) ) continue;
931 /* The undocumented --script FILENAME option causes the Tk script to
932 ** be written into the FILENAME instead of being run. This is used
933 ** for testing and debugging. */
934 if( sqlite3_strglob("*-script",z) && i<g.argc-1 ){
935 i++;
936 zTempFile = g.argv[i];
937 continue;
938 }
939 }
940
+1 -80
--- src/glob.c
+++ src/glob.c
@@ -138,89 +138,10 @@
138138
z += i+1;
139139
}
140140
return p;
141141
}
142142
143
-/*
144
-** Return non-zero if string z matches glob pattern zGlob and zero if the
145
-** pattern does not match.
146
-**
147
-** Globbing rules:
148
-**
149
-** '*' Matches any sequence of zero or more characters.
150
-**
151
-** '?' Matches exactly one character.
152
-**
153
-** [...] Matches one character from the enclosed list of
154
-** characters.
155
-**
156
-** [^...] Matches one character not in the enclosed list.
157
-*/
158
-int strglob(const char *zGlob, const char *z){
159
- int c, c2;
160
- int invert;
161
- int seen;
162
-
163
- while( (c = (*(zGlob++)))!=0 ){
164
- if( c=='*' ){
165
- while( (c=(*(zGlob++))) == '*' || c=='?' ){
166
- if( c=='?' && (*(z++))==0 ) return 0;
167
- }
168
- if( c==0 ){
169
- return 1;
170
- }else if( c=='[' ){
171
- while( *z && strglob(zGlob-1,z)==0 ){
172
- z++;
173
- }
174
- return (*z)!=0;
175
- }
176
- while( (c2 = (*(z++)))!=0 ){
177
- while( c2!=c ){
178
- c2 = *(z++);
179
- if( c2==0 ) return 0;
180
- }
181
- if( strglob(zGlob,z) ) return 1;
182
- }
183
- return 0;
184
- }else if( c=='?' ){
185
- if( (*(z++))==0 ) return 0;
186
- }else if( c=='[' ){
187
- int prior_c = 0;
188
- seen = 0;
189
- invert = 0;
190
- c = *(z++);
191
- if( c==0 ) return 0;
192
- c2 = *(zGlob++);
193
- if( c2=='^' ){
194
- invert = 1;
195
- c2 = *(zGlob++);
196
- }
197
- if( c2==']' ){
198
- if( c==']' ) seen = 1;
199
- c2 = *(zGlob++);
200
- }
201
- while( c2 && c2!=']' ){
202
- if( c2=='-' && zGlob[0]!=']' && zGlob[0]!=0 && prior_c>0 ){
203
- c2 = *(zGlob++);
204
- if( c>=prior_c && c<=c2 ) seen = 1;
205
- prior_c = 0;
206
- }else{
207
- if( c==c2 ){
208
- seen = 1;
209
- }
210
- prior_c = c2;
211
- }
212
- c2 = *(zGlob++);
213
- }
214
- if( c2==0 || (seen ^ invert)==0 ) return 0;
215
- }else{
216
- if( c!=(*(z++)) ) return 0;
217
- }
218
- }
219
- return *z==0;
220
-}
221
-
222143
/*
223144
** Return true (non-zero) if zString matches any of the patterns in
224145
** the Glob. The value returned is actually a 1-based index of the pattern
225146
** that matched. Return 0 if none of the patterns match zString.
226147
**
@@ -228,11 +149,11 @@
228149
*/
229150
int glob_match(Glob *pGlob, const char *zString){
230151
int i;
231152
if( pGlob==0 ) return 0;
232153
for(i=0; i<pGlob->nPattern; i++){
233
- if( strglob(pGlob->azPattern[i], zString) ) return i+1;
154
+ if( sqlite3_strglob(pGlob->azPattern[i], zString) ) return i+1;
234155
}
235156
return 0;
236157
}
237158
238159
/*
239160
--- src/glob.c
+++ src/glob.c
@@ -138,89 +138,10 @@
138 z += i+1;
139 }
140 return p;
141 }
142
143 /*
144 ** Return non-zero if string z matches glob pattern zGlob and zero if the
145 ** pattern does not match.
146 **
147 ** Globbing rules:
148 **
149 ** '*' Matches any sequence of zero or more characters.
150 **
151 ** '?' Matches exactly one character.
152 **
153 ** [...] Matches one character from the enclosed list of
154 ** characters.
155 **
156 ** [^...] Matches one character not in the enclosed list.
157 */
158 int strglob(const char *zGlob, const char *z){
159 int c, c2;
160 int invert;
161 int seen;
162
163 while( (c = (*(zGlob++)))!=0 ){
164 if( c=='*' ){
165 while( (c=(*(zGlob++))) == '*' || c=='?' ){
166 if( c=='?' && (*(z++))==0 ) return 0;
167 }
168 if( c==0 ){
169 return 1;
170 }else if( c=='[' ){
171 while( *z && strglob(zGlob-1,z)==0 ){
172 z++;
173 }
174 return (*z)!=0;
175 }
176 while( (c2 = (*(z++)))!=0 ){
177 while( c2!=c ){
178 c2 = *(z++);
179 if( c2==0 ) return 0;
180 }
181 if( strglob(zGlob,z) ) return 1;
182 }
183 return 0;
184 }else if( c=='?' ){
185 if( (*(z++))==0 ) return 0;
186 }else if( c=='[' ){
187 int prior_c = 0;
188 seen = 0;
189 invert = 0;
190 c = *(z++);
191 if( c==0 ) return 0;
192 c2 = *(zGlob++);
193 if( c2=='^' ){
194 invert = 1;
195 c2 = *(zGlob++);
196 }
197 if( c2==']' ){
198 if( c==']' ) seen = 1;
199 c2 = *(zGlob++);
200 }
201 while( c2 && c2!=']' ){
202 if( c2=='-' && zGlob[0]!=']' && zGlob[0]!=0 && prior_c>0 ){
203 c2 = *(zGlob++);
204 if( c>=prior_c && c<=c2 ) seen = 1;
205 prior_c = 0;
206 }else{
207 if( c==c2 ){
208 seen = 1;
209 }
210 prior_c = c2;
211 }
212 c2 = *(zGlob++);
213 }
214 if( c2==0 || (seen ^ invert)==0 ) return 0;
215 }else{
216 if( c!=(*(z++)) ) return 0;
217 }
218 }
219 return *z==0;
220 }
221
222 /*
223 ** Return true (non-zero) if zString matches any of the patterns in
224 ** the Glob. The value returned is actually a 1-based index of the pattern
225 ** that matched. Return 0 if none of the patterns match zString.
226 **
@@ -228,11 +149,11 @@
228 */
229 int glob_match(Glob *pGlob, const char *zString){
230 int i;
231 if( pGlob==0 ) return 0;
232 for(i=0; i<pGlob->nPattern; i++){
233 if( strglob(pGlob->azPattern[i], zString) ) return i+1;
234 }
235 return 0;
236 }
237
238 /*
239
--- src/glob.c
+++ src/glob.c
@@ -138,89 +138,10 @@
138 z += i+1;
139 }
140 return p;
141 }
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143 /*
144 ** Return true (non-zero) if zString matches any of the patterns in
145 ** the Glob. The value returned is actually a 1-based index of the pattern
146 ** that matched. Return 0 if none of the patterns match zString.
147 **
@@ -228,11 +149,11 @@
149 */
150 int glob_match(Glob *pGlob, const char *zString){
151 int i;
152 if( pGlob==0 ) return 0;
153 for(i=0; i<pGlob->nPattern; i++){
154 if( sqlite3_strglob(pGlob->azPattern[i], zString) ) return i+1;
155 }
156 return 0;
157 }
158
159 /*
160
+5 -5
--- src/login.c
+++ src/login.c
@@ -395,15 +395,15 @@
395395
/* If a URI appears in the User-Agent, it is probably a bot */
396396
if( strncmp("http", zAgent+i,4)==0 ) return 0;
397397
}
398398
if( strncmp(zAgent, "Mozilla/", 8)==0 ){
399399
if( atoi(&zAgent[8])<4 ) return 0; /* Many bots advertise as Mozilla/3 */
400
- if( strglob("*Firefox/[1-9]*", zAgent) ) return 1;
401
- if( strglob("*Chrome/[1-9]*", zAgent) ) return 1;
402
- if( strglob("*(compatible;?MSIE?[1789]*", zAgent) ) return 1;
403
- if( strglob("*Trident/[1-9]*;?rv:[1-9]*", zAgent) ) return 1; /* IE11+ */
404
- if( strglob("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
400
+ if( sqlite3_strglob("*Firefox/[1-9]*", zAgent) ) return 1;
401
+ if( sqlite3_strglob("*Chrome/[1-9]*", zAgent) ) return 1;
402
+ if( sqlite3_strglob("*(compatible;?MSIE?[1789]*", zAgent) ) return 1;
403
+ if( sqlite3_strglob("*Trident/[1-9]*;?rv:[1-9]*", zAgent) ) return 1; /* IE11+ */
404
+ if( sqlite3_strglob("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
405405
return 0;
406406
}
407407
if( strncmp(zAgent, "Opera/", 6)==0 ) return 1;
408408
if( strncmp(zAgent, "Safari/", 7)==0 ) return 1;
409409
if( strncmp(zAgent, "Lynx/", 5)==0 ) return 1;
410410
--- src/login.c
+++ src/login.c
@@ -395,15 +395,15 @@
395 /* If a URI appears in the User-Agent, it is probably a bot */
396 if( strncmp("http", zAgent+i,4)==0 ) return 0;
397 }
398 if( strncmp(zAgent, "Mozilla/", 8)==0 ){
399 if( atoi(&zAgent[8])<4 ) return 0; /* Many bots advertise as Mozilla/3 */
400 if( strglob("*Firefox/[1-9]*", zAgent) ) return 1;
401 if( strglob("*Chrome/[1-9]*", zAgent) ) return 1;
402 if( strglob("*(compatible;?MSIE?[1789]*", zAgent) ) return 1;
403 if( strglob("*Trident/[1-9]*;?rv:[1-9]*", zAgent) ) return 1; /* IE11+ */
404 if( strglob("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
405 return 0;
406 }
407 if( strncmp(zAgent, "Opera/", 6)==0 ) return 1;
408 if( strncmp(zAgent, "Safari/", 7)==0 ) return 1;
409 if( strncmp(zAgent, "Lynx/", 5)==0 ) return 1;
410
--- src/login.c
+++ src/login.c
@@ -395,15 +395,15 @@
395 /* If a URI appears in the User-Agent, it is probably a bot */
396 if( strncmp("http", zAgent+i,4)==0 ) return 0;
397 }
398 if( strncmp(zAgent, "Mozilla/", 8)==0 ){
399 if( atoi(&zAgent[8])<4 ) return 0; /* Many bots advertise as Mozilla/3 */
400 if( sqlite3_strglob("*Firefox/[1-9]*", zAgent) ) return 1;
401 if( sqlite3_strglob("*Chrome/[1-9]*", zAgent) ) return 1;
402 if( sqlite3_strglob("*(compatible;?MSIE?[1789]*", zAgent) ) return 1;
403 if( sqlite3_strglob("*Trident/[1-9]*;?rv:[1-9]*", zAgent) ) return 1; /* IE11+ */
404 if( sqlite3_strglob("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
405 return 0;
406 }
407 if( strncmp(zAgent, "Opera/", 6)==0 ) return 1;
408 if( strncmp(zAgent, "Safari/", 7)==0 ) return 1;
409 if( strncmp(zAgent, "Lynx/", 5)==0 ) return 1;
410
+2 -2
--- src/main.c
+++ src/main.c
@@ -596,11 +596,11 @@
596596
g.mainTimerId = fossil_timer_start();
597597
g.zVfsName = find_option("vfs",0,1);
598598
if( g.zVfsName==0 ){
599599
g.zVfsName = fossil_getenv("FOSSIL_VFS");
600600
#if defined(__CYGWIN__)
601
- if( g.zVfsName==0 && sqlite3_libversion_number()>=3008001 ){
601
+ if( g.zVfsName==0 ){
602602
g.zVfsName = "win32-longpath";
603603
}
604604
#endif
605605
}
606606
if( g.zVfsName ){
@@ -1318,11 +1318,11 @@
13181318
continue;
13191319
}
13201320
if( pFileGlob!=0
13211321
&& file_isfile(zRepo)
13221322
&& glob_match(pFileGlob, zRepo)
1323
- && strglob("*.fossil*",zRepo)==0
1323
+ && sqlite3_strglob("*.fossil*",zRepo)==0
13241324
&& (zMimetype = mimetype_from_name(zRepo))!=0
13251325
&& strcmp(zMimetype, "application/x-fossil-artifact")!=0
13261326
){
13271327
Blob content;
13281328
blob_read_from_file(&content, zRepo);
13291329
--- src/main.c
+++ src/main.c
@@ -596,11 +596,11 @@
596 g.mainTimerId = fossil_timer_start();
597 g.zVfsName = find_option("vfs",0,1);
598 if( g.zVfsName==0 ){
599 g.zVfsName = fossil_getenv("FOSSIL_VFS");
600 #if defined(__CYGWIN__)
601 if( g.zVfsName==0 && sqlite3_libversion_number()>=3008001 ){
602 g.zVfsName = "win32-longpath";
603 }
604 #endif
605 }
606 if( g.zVfsName ){
@@ -1318,11 +1318,11 @@
1318 continue;
1319 }
1320 if( pFileGlob!=0
1321 && file_isfile(zRepo)
1322 && glob_match(pFileGlob, zRepo)
1323 && strglob("*.fossil*",zRepo)==0
1324 && (zMimetype = mimetype_from_name(zRepo))!=0
1325 && strcmp(zMimetype, "application/x-fossil-artifact")!=0
1326 ){
1327 Blob content;
1328 blob_read_from_file(&content, zRepo);
1329
--- src/main.c
+++ src/main.c
@@ -596,11 +596,11 @@
596 g.mainTimerId = fossil_timer_start();
597 g.zVfsName = find_option("vfs",0,1);
598 if( g.zVfsName==0 ){
599 g.zVfsName = fossil_getenv("FOSSIL_VFS");
600 #if defined(__CYGWIN__)
601 if( g.zVfsName==0 ){
602 g.zVfsName = "win32-longpath";
603 }
604 #endif
605 }
606 if( g.zVfsName ){
@@ -1318,11 +1318,11 @@
1318 continue;
1319 }
1320 if( pFileGlob!=0
1321 && file_isfile(zRepo)
1322 && glob_match(pFileGlob, zRepo)
1323 && sqlite3_strglob("*.fossil*",zRepo)==0
1324 && (zMimetype = mimetype_from_name(zRepo))!=0
1325 && strcmp(zMimetype, "application/x-fossil-artifact")!=0
1326 ){
1327 Blob content;
1328 blob_read_from_file(&content, zRepo);
1329
+1 -2
--- src/main.mk
+++ src/main.mk
@@ -385,12 +385,11 @@
385385
-DSQLITE_OMIT_DEPRECATED \
386386
-DSQLITE_ENABLE_EXPLAIN_COMMENTS
387387
388388
# Setup the options used to compile the included SQLite shell.
389389
SHELL_OPTIONS = -Dmain=sqlite3_shell \
390
- -DSQLITE_OMIT_LOAD_EXTENSION=1 \
391
- -Dsqlite3_strglob=strglob
390
+ -DSQLITE_OMIT_LOAD_EXTENSION=1
392391
393392
# The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set
394393
# to 1. If it is set to 1, then there is no need to build or link
395394
# the sqlite3.o object. Instead, the system sqlite will be linked
396395
# using -lsqlite3.
397396
--- src/main.mk
+++ src/main.mk
@@ -385,12 +385,11 @@
385 -DSQLITE_OMIT_DEPRECATED \
386 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
387
388 # Setup the options used to compile the included SQLite shell.
389 SHELL_OPTIONS = -Dmain=sqlite3_shell \
390 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
391 -Dsqlite3_strglob=strglob
392
393 # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set
394 # to 1. If it is set to 1, then there is no need to build or link
395 # the sqlite3.o object. Instead, the system sqlite will be linked
396 # using -lsqlite3.
397
--- src/main.mk
+++ src/main.mk
@@ -385,12 +385,11 @@
385 -DSQLITE_OMIT_DEPRECATED \
386 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
387
388 # Setup the options used to compile the included SQLite shell.
389 SHELL_OPTIONS = -Dmain=sqlite3_shell \
390 -DSQLITE_OMIT_LOAD_EXTENSION=1
 
391
392 # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set
393 # to 1. If it is set to 1, then there is no need to build or link
394 # the sqlite3.o object. Instead, the system sqlite will be linked
395 # using -lsqlite3.
396
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -146,11 +146,10 @@
146146
# Options used to compile the included SQLite shell.
147147
#
148148
set SHELL_OPTIONS {
149149
-Dmain=sqlite3_shell
150150
-DSQLITE_OMIT_LOAD_EXTENSION=1
151
- -Dsqlite3_strglob=strglob
152151
}
153152
154153
# Options used to compile the included SQLite shell on Windows.
155154
#
156155
set SHELL_WIN32_OPTIONS $SHELL_OPTIONS
157156
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -146,11 +146,10 @@
146 # Options used to compile the included SQLite shell.
147 #
148 set SHELL_OPTIONS {
149 -Dmain=sqlite3_shell
150 -DSQLITE_OMIT_LOAD_EXTENSION=1
151 -Dsqlite3_strglob=strglob
152 }
153
154 # Options used to compile the included SQLite shell on Windows.
155 #
156 set SHELL_WIN32_OPTIONS $SHELL_OPTIONS
157
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -146,11 +146,10 @@
146 # Options used to compile the included SQLite shell.
147 #
148 set SHELL_OPTIONS {
149 -Dmain=sqlite3_shell
150 -DSQLITE_OMIT_LOAD_EXTENSION=1
 
151 }
152
153 # Options used to compile the included SQLite shell on Windows.
154 #
155 set SHELL_WIN32_OPTIONS $SHELL_OPTIONS
156
+1 -1
--- src/style.c
+++ src/style.c
@@ -175,11 +175,11 @@
175175
}
176176
for(i=0; i<nFormAction; i++){
177177
@ gebi("form%d(i+1)").action="%s(aFormAction[i])";
178178
}
179179
@ }
180
- if( strglob("*Opera Mini/[1-9]*", P("HTTP_USER_AGENT")) ){
180
+ if( sqlite3_strglob("*Opera Mini/[1-9]*", P("HTTP_USER_AGENT")) ){
181181
/* Special case for Opera Mini, which executes JS server-side */
182182
@ var isOperaMini = Object.prototype.toString.call(window.operamini)
183183
@ === "[object OperaMini]";
184184
@ if( isOperaMini ){
185185
@ setTimeout("setAllHrefs();",%d(nDelay));
186186
--- src/style.c
+++ src/style.c
@@ -175,11 +175,11 @@
175 }
176 for(i=0; i<nFormAction; i++){
177 @ gebi("form%d(i+1)").action="%s(aFormAction[i])";
178 }
179 @ }
180 if( strglob("*Opera Mini/[1-9]*", P("HTTP_USER_AGENT")) ){
181 /* Special case for Opera Mini, which executes JS server-side */
182 @ var isOperaMini = Object.prototype.toString.call(window.operamini)
183 @ === "[object OperaMini]";
184 @ if( isOperaMini ){
185 @ setTimeout("setAllHrefs();",%d(nDelay));
186
--- src/style.c
+++ src/style.c
@@ -175,11 +175,11 @@
175 }
176 for(i=0; i<nFormAction; i++){
177 @ gebi("form%d(i+1)").action="%s(aFormAction[i])";
178 }
179 @ }
180 if( sqlite3_strglob("*Opera Mini/[1-9]*", P("HTTP_USER_AGENT")) ){
181 /* Special case for Opera Mini, which executes JS server-side */
182 @ var isOperaMini = Object.prototype.toString.call(window.operamini)
183 @ === "[object OperaMini]";
184 @ if( isOperaMini ){
185 @ setTimeout("setAllHrefs();",%d(nDelay));
186
+2 -2
--- src/vfile.c
+++ src/vfile.c
@@ -393,13 +393,13 @@
393393
"original",
394394
"output",
395395
};
396396
int i, j, n;
397397
398
- if( strglob("ci-comment-????????????.txt", zName) ) return 1;
398
+ if( sqlite3_strglob("ci-comment-????????????.txt", zName) ) return 1;
399399
for(; zName[0]!=0; zName++){
400
- if( zName[0]=='/' && strglob("/ci-comment-????????????.txt", zName) ){
400
+ if( zName[0]=='/' && sqlite3_strglob("/ci-comment-????????????.txt", zName) ){
401401
return 1;
402402
}
403403
if( zName[0]!='-' ) continue;
404404
for(i=0; i<sizeof(azTemp)/sizeof(azTemp[0]); i++){
405405
n = (int)strlen(azTemp[i]);
406406
--- src/vfile.c
+++ src/vfile.c
@@ -393,13 +393,13 @@
393 "original",
394 "output",
395 };
396 int i, j, n;
397
398 if( strglob("ci-comment-????????????.txt", zName) ) return 1;
399 for(; zName[0]!=0; zName++){
400 if( zName[0]=='/' && strglob("/ci-comment-????????????.txt", zName) ){
401 return 1;
402 }
403 if( zName[0]!='-' ) continue;
404 for(i=0; i<sizeof(azTemp)/sizeof(azTemp[0]); i++){
405 n = (int)strlen(azTemp[i]);
406
--- src/vfile.c
+++ src/vfile.c
@@ -393,13 +393,13 @@
393 "original",
394 "output",
395 };
396 int i, j, n;
397
398 if( sqlite3_strglob("ci-comment-????????????.txt", zName) ) return 1;
399 for(; zName[0]!=0; zName++){
400 if( zName[0]=='/' && sqlite3_strglob("/ci-comment-????????????.txt", zName) ){
401 return 1;
402 }
403 if( zName[0]!='-' ) continue;
404 for(i=0; i<sizeof(azTemp)/sizeof(azTemp[0]); i++){
405 n = (int)strlen(azTemp[i]);
406
+1 -1
--- src/xfer.c
+++ src/xfer.c
@@ -1785,11 +1785,11 @@
17851785
** to the next cycle.
17861786
*/
17871787
if( blob_eq(&xfer.aToken[0],"message") && xfer.nToken==2 ){
17881788
char *zMsg = blob_terminate(&xfer.aToken[1]);
17891789
defossilize(zMsg);
1790
- if( (syncFlags & SYNC_PUSH) && zMsg && strglob("pull only *", zMsg) ){
1790
+ if( (syncFlags & SYNC_PUSH) && zMsg && sqlite3_strglob("pull only *", zMsg) ){
17911791
syncFlags &= ~SYNC_PUSH;
17921792
zMsg = 0;
17931793
}
17941794
if( zMsg && zMsg[0] ){
17951795
fossil_force_newline();
17961796
--- src/xfer.c
+++ src/xfer.c
@@ -1785,11 +1785,11 @@
1785 ** to the next cycle.
1786 */
1787 if( blob_eq(&xfer.aToken[0],"message") && xfer.nToken==2 ){
1788 char *zMsg = blob_terminate(&xfer.aToken[1]);
1789 defossilize(zMsg);
1790 if( (syncFlags & SYNC_PUSH) && zMsg && strglob("pull only *", zMsg) ){
1791 syncFlags &= ~SYNC_PUSH;
1792 zMsg = 0;
1793 }
1794 if( zMsg && zMsg[0] ){
1795 fossil_force_newline();
1796
--- src/xfer.c
+++ src/xfer.c
@@ -1785,11 +1785,11 @@
1785 ** to the next cycle.
1786 */
1787 if( blob_eq(&xfer.aToken[0],"message") && xfer.nToken==2 ){
1788 char *zMsg = blob_terminate(&xfer.aToken[1]);
1789 defossilize(zMsg);
1790 if( (syncFlags & SYNC_PUSH) && zMsg && sqlite3_strglob("pull only *", zMsg) ){
1791 syncFlags &= ~SYNC_PUSH;
1792 zMsg = 0;
1793 }
1794 if( zMsg && zMsg[0] ){
1795 fossil_force_newline();
1796
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -89,11 +89,11 @@
8989
9090
# define the sqlite shell files, which need special flags on compile
9191
SQLITESHELLSRC=shell.c
9292
ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf))
9393
SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj))
94
-SQLITESHELLDEFINES=-Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
94
+SQLITESHELLDEFINES=-Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
9595
9696
# define the th scripting files, which need special flags on compile
9797
THSRC=th.c th_lang.c
9898
ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf))
9999
THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj))
100100
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -89,11 +89,11 @@
89
90 # define the sqlite shell files, which need special flags on compile
91 SQLITESHELLSRC=shell.c
92 ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf))
93 SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj))
94 SQLITESHELLDEFINES=-Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
95
96 # define the th scripting files, which need special flags on compile
97 THSRC=th.c th_lang.c
98 ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf))
99 THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj))
100
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -89,11 +89,11 @@
89
90 # define the sqlite shell files, which need special flags on compile
91 SQLITESHELLSRC=shell.c
92 ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf))
93 SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj))
94 SQLITESHELLDEFINES=-Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
95
96 # define the th scripting files, which need special flags on compile
97 THSRC=th.c th_lang.c
98 ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf))
99 THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj))
100
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -26,11 +26,11 @@
2626
TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL)
2727
LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32
2828
2929
SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
3030
31
-SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
31
+SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3232
3333
SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
3434
3535
OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3636
3737
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -26,11 +26,11 @@
26 TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL)
27 LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32
28
29 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -26,11 +26,11 @@
26 TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL)
27 LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32
28
29 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1710,11 +1710,10 @@
17101710
-DSQLITE_USE_MALLOC_H \
17111711
-DSQLITE_USE_MSIZE
17121712
17131713
SHELL_OPTIONS = -Dmain=sqlite3_shell \
17141714
-DSQLITE_OMIT_LOAD_EXTENSION=1 \
1715
- -Dsqlite3_strglob=strglob \
17161715
-Dgetenv=fossil_getenv \
17171716
-Dfopen=fossil_fopen
17181717
17191718
$(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
17201719
$(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
17211720
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1710,11 +1710,10 @@
1710 -DSQLITE_USE_MALLOC_H \
1711 -DSQLITE_USE_MSIZE
1712
1713 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1714 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1715 -Dsqlite3_strglob=strglob \
1716 -Dgetenv=fossil_getenv \
1717 -Dfopen=fossil_fopen
1718
1719 $(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
1720 $(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1721
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -1710,11 +1710,10 @@
1710 -DSQLITE_USE_MALLOC_H \
1711 -DSQLITE_USE_MSIZE
1712
1713 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1714 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
1715 -Dgetenv=fossil_getenv \
1716 -Dfopen=fossil_fopen
1717
1718 $(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
1719 $(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1720
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1710,11 +1710,10 @@
17101710
-DSQLITE_USE_MALLOC_H \
17111711
-DSQLITE_USE_MSIZE
17121712
17131713
SHELL_OPTIONS = -Dmain=sqlite3_shell \
17141714
-DSQLITE_OMIT_LOAD_EXTENSION=1 \
1715
- -Dsqlite3_strglob=strglob \
17161715
-Dgetenv=fossil_getenv \
17171716
-Dfopen=fossil_fopen
17181717
17191718
$(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
17201719
$(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
17211720
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1710,11 +1710,10 @@
1710 -DSQLITE_USE_MALLOC_H \
1711 -DSQLITE_USE_MSIZE
1712
1713 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1714 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1715 -Dsqlite3_strglob=strglob \
1716 -Dgetenv=fossil_getenv \
1717 -Dfopen=fossil_fopen
1718
1719 $(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
1720 $(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1721
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -1710,11 +1710,10 @@
1710 -DSQLITE_USE_MALLOC_H \
1711 -DSQLITE_USE_MSIZE
1712
1713 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1714 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
1715 -Dgetenv=fossil_getenv \
1716 -Dfopen=fossil_fopen
1717
1718 $(OBJDIR)/sqlite3.o: $(SRCDIR)/sqlite3.c
1719 $(XTCC) $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) -c $(SRCDIR)/sqlite3.c -o $(OBJDIR)/sqlite3.o
1720
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -74,11 +74,10 @@
7474
/DSQLITE_OMIT_DEPRECATED \
7575
/DSQLITE_ENABLE_EXPLAIN_COMMENTS
7676
7777
SHELL_OPTIONS = /Dmain=sqlite3_shell \
7878
/DSQLITE_OMIT_LOAD_EXTENSION=1 \
79
- /Dsqlite3_strglob=strglob \
8079
/Dgetenv=fossil_getenv \
8180
/Dfopen=fossil_fopen
8281
8382
SRC = add_.c \
8483
allrepo_.c \
8584
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -74,11 +74,10 @@
74 /DSQLITE_OMIT_DEPRECATED \
75 /DSQLITE_ENABLE_EXPLAIN_COMMENTS
76
77 SHELL_OPTIONS = /Dmain=sqlite3_shell \
78 /DSQLITE_OMIT_LOAD_EXTENSION=1 \
79 /Dsqlite3_strglob=strglob \
80 /Dgetenv=fossil_getenv \
81 /Dfopen=fossil_fopen
82
83 SRC = add_.c \
84 allrepo_.c \
85
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -74,11 +74,10 @@
74 /DSQLITE_OMIT_DEPRECATED \
75 /DSQLITE_ENABLE_EXPLAIN_COMMENTS
76
77 SHELL_OPTIONS = /Dmain=sqlite3_shell \
78 /DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
79 /Dgetenv=fossil_getenv \
80 /Dfopen=fossil_fopen
81
82 SRC = add_.c \
83 allrepo_.c \
84

Keyboard Shortcuts

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