Fossil SCM

Merge trunk. Add information on the ""th1-uri-regexp" setting.

jan.nijtmans 2013-12-18 15:38 UTC tkt-change-hook merge
Commit f671c50f927672d3b8b4b98f971e74369eb6d6eb
+1 -2
--- src/clone.c
+++ src/clone.c
@@ -121,10 +121,11 @@
121121
int bPrivate = 0; /* Also clone private branches */
122122
int urlFlags = URL_PROMPT_PW | URL_REMEMBER;
123123
124124
if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE;
125125
if( find_option("once",0,0)!=0) urlFlags &= ~URL_REMEMBER;
126
+ zDefaultUser = find_option("admin-user","A",1);
126127
clone_ssh_find_options();
127128
url_proxy_options();
128129
if( g.argc < 4 ){
129130
usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY");
130131
}
@@ -131,12 +132,10 @@
131132
db_open_config(0);
132133
if( file_size(g.argv[3])>0 ){
133134
fossil_fatal("file already exists: %s", g.argv[3]);
134135
}
135136
136
- zDefaultUser = find_option("admin-user","A",1);
137
-
138137
url_parse(g.argv[2], urlFlags);
139138
if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser;
140139
if( g.urlIsFile ){
141140
file_copy(g.urlName, g.argv[3]);
142141
db_close(1);
143142
--- src/clone.c
+++ src/clone.c
@@ -121,10 +121,11 @@
121 int bPrivate = 0; /* Also clone private branches */
122 int urlFlags = URL_PROMPT_PW | URL_REMEMBER;
123
124 if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE;
125 if( find_option("once",0,0)!=0) urlFlags &= ~URL_REMEMBER;
 
126 clone_ssh_find_options();
127 url_proxy_options();
128 if( g.argc < 4 ){
129 usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY");
130 }
@@ -131,12 +132,10 @@
131 db_open_config(0);
132 if( file_size(g.argv[3])>0 ){
133 fossil_fatal("file already exists: %s", g.argv[3]);
134 }
135
136 zDefaultUser = find_option("admin-user","A",1);
137
138 url_parse(g.argv[2], urlFlags);
139 if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser;
140 if( g.urlIsFile ){
141 file_copy(g.urlName, g.argv[3]);
142 db_close(1);
143
--- src/clone.c
+++ src/clone.c
@@ -121,10 +121,11 @@
121 int bPrivate = 0; /* Also clone private branches */
122 int urlFlags = URL_PROMPT_PW | URL_REMEMBER;
123
124 if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE;
125 if( find_option("once",0,0)!=0) urlFlags &= ~URL_REMEMBER;
126 zDefaultUser = find_option("admin-user","A",1);
127 clone_ssh_find_options();
128 url_proxy_options();
129 if( g.argc < 4 ){
130 usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY");
131 }
@@ -131,12 +132,10 @@
132 db_open_config(0);
133 if( file_size(g.argv[3])>0 ){
134 fossil_fatal("file already exists: %s", g.argv[3]);
135 }
136
 
 
137 url_parse(g.argv[2], urlFlags);
138 if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser;
139 if( g.urlIsFile ){
140 file_copy(g.urlName, g.argv[3]);
141 db_close(1);
142
+30 -264
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
3939
# include <sys/utime.h>
4040
#else
4141
# include <sys/time.h>
4242
#endif
4343
44
-/*
45
-** The file status information from the most recent stat() call.
46
-**
47
-** Use _stati64 rather than stat on windows, in order to handle files
48
-** larger than 2GB.
49
-*/
44
+#if INTERFACE
45
+
46
+#include <dirent.h>
47
+#if defined(_WIN32)
48
+# define DIR _WDIR
49
+# define dirent _wdirent
50
+# define opendir _wopendir
51
+# define readdir _wreaddir
52
+# define closedir _wclosedir
53
+#endif /* _WIN32 */
54
+
5055
#if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
51
-# undef stat
52
-# define stat _fossil_stati64
53
-struct stat {
56
+struct fossilStat {
5457
i64 st_size;
5558
i64 st_mtime;
5659
int st_mode;
5760
};
5861
#endif
62
+
63
+#endif /* INTERFACE */
64
+
65
+#if !defined(_WIN32) || !(defined(__MSVCRT__) || defined(_MSC_VER))
66
+# define fossilStat stat
67
+#endif
68
+
5969
/*
6070
** On Windows S_ISLNK always returns FALSE.
6171
*/
6272
#if !defined(S_ISLNK)
6373
# define S_ISLNK(x) (0)
6474
#endif
6575
static int fileStatValid = 0;
66
-static struct stat fileStat;
76
+static struct fossilStat fileStat;
6777
6878
/*
6979
** Fill stat buf with information received from stat() or lstat().
7080
** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
7181
**
7282
*/
73
-static int fossil_stat(const char *zFilename, struct stat *buf, int isWd){
74
- int rc;
83
+static int fossil_stat(const char *zFilename, struct fossilStat *buf, int isWd){
7584
#if !defined(_WIN32)
85
+ int rc;
7686
char *zMbcs = fossil_utf8_to_filename(zFilename);
7787
if( isWd && g.allowSymlinks ){
7888
rc = lstat(zMbcs, buf);
7989
}else{
8090
rc = stat(zMbcs, buf);
8191
}
82
-#else
83
- WIN32_FILE_ATTRIBUTE_DATA attr;
84
- wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
85
- rc = !GetFileAttributesExW(zMbcs, GetFileExInfoStandard, &attr);
86
- if( !rc ){
87
- ULARGE_INTEGER ull;
88
- ull.LowPart = attr.ftLastWriteTime.dwLowDateTime;
89
- ull.HighPart = attr.ftLastWriteTime.dwHighDateTime;
90
- buf->st_mode = (attr.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)?
91
- S_IFDIR:S_IFREG;
92
- buf->st_size = (((i64)attr.nFileSizeHigh)<<32) | attr.nFileSizeLow;
93
- buf->st_mtime = ull.QuadPart / 10000000ULL - 11644473600ULL;
94
- }
95
-#endif
9692
fossil_filename_free(zMbcs);
9793
return rc;
94
+#else
95
+ return win32_stat(zFilename, buf, isWd);
96
+#endif
9897
}
9998
10099
/*
101100
** Fill in the fileStat variable for the file named zFilename.
102101
** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
318317
/*
319318
** Wrapper around the access() system call.
320319
*/
321320
int file_access(const char *zFilename, int flags){
322321
#ifdef _WIN32
323
- SECURITY_DESCRIPTOR *sdPtr = NULL;
324
- unsigned long size;
325
- PSID pSid = 0;
326
- BOOL SidDefaulted;
327
- SID_IDENTIFIER_AUTHORITY samba_unmapped = {{0, 0, 0, 0, 0, 22}};
328
- GENERIC_MAPPING genMap;
329
- HANDLE hToken = NULL;
330
- DWORD desiredAccess = 0, grantedAccess = 0;
331
- BOOL accessYesNo = FALSE;
332
- PRIVILEGE_SET privSet;
333
- DWORD privSetSize = sizeof(PRIVILEGE_SET);
334
- int rc = 0;
335
- DWORD attr;
336
- wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
337
-
338
- attr = GetFileAttributesW(zMbcs);
339
-
340
- if( attr==INVALID_FILE_ATTRIBUTES ){
341
- /*
342
- * File might not exist.
343
- */
344
-
345
- if( GetLastError()!=ERROR_SHARING_VIOLATION ){
346
- fossil_filename_free(zMbcs);
347
- return -1;
348
- }
349
- }
350
-
351
- if( flags==F_OK ){
352
- /*
353
- * File exists, nothing else to check.
354
- */
355
-
356
- fossil_filename_free(zMbcs);
357
- return 0;
358
- }
359
-
360
- if( (flags & W_OK)
361
- && (attr & FILE_ATTRIBUTE_READONLY)
362
- && !(attr & FILE_ATTRIBUTE_DIRECTORY) ){
363
- /*
364
- * The attributes say the file is not writable. If the file is a
365
- * regular file (i.e., not a directory), then the file is not
366
- * writable, full stop. For directories, the read-only bit is
367
- * (mostly) ignored by Windows, so we can't ascertain anything about
368
- * directory access from the attrib data. However, if we have the
369
- * advanced 'getFileSecurityProc', then more robust ACL checks
370
- * will be done below.
371
- */
372
-
373
- fossil_filename_free(zMbcs);
374
- return -1;
375
- }
376
-
377
- /*
378
- * It looks as if the permissions are ok, but if we are on NT, 2000 or XP,
379
- * we have a more complex permissions structure so we try to check that.
380
- * The code below is remarkably complex for such a simple thing as finding
381
- * what permissions the OS has set for a file.
382
- */
383
-
384
- /*
385
- * First find out how big the buffer needs to be.
386
- */
387
-
388
- size = 0;
389
- GetFileSecurityW(zMbcs,
390
- OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
391
- | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
392
- 0, 0, &size);
393
-
394
- /*
395
- * Should have failed with ERROR_INSUFFICIENT_BUFFER
396
- */
397
-
398
- if( GetLastError()!=ERROR_INSUFFICIENT_BUFFER ){
399
- /*
400
- * Most likely case is ERROR_ACCESS_DENIED, which we will convert
401
- * to EACCES - just what we want!
402
- */
403
-
404
- fossil_filename_free(zMbcs);
405
- return -1;
406
- }
407
-
408
- /*
409
- * Now size contains the size of buffer needed.
410
- */
411
-
412
- sdPtr = (SECURITY_DESCRIPTOR *) HeapAlloc(GetProcessHeap(), 0, size);
413
-
414
- if( sdPtr == NULL ){
415
- goto accessError;
416
- }
417
-
418
- /*
419
- * Call GetFileSecurity() for real.
420
- */
421
-
422
- if( !GetFileSecurityW(zMbcs,
423
- OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
424
- | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
425
- sdPtr, size, &size) ){
426
- /*
427
- * Error getting owner SD
428
- */
429
-
430
- goto accessError;
431
- }
432
-
433
- /*
434
- * As of Samba 3.0.23 (10-Jul-2006), unmapped users and groups are
435
- * assigned to SID domains S-1-22-1 and S-1-22-2, where "22" is the
436
- * top-level authority. If the file owner and group is unmapped then
437
- * the ACL access check below will only test against world access,
438
- * which is likely to be more restrictive than the actual access
439
- * restrictions. Since the ACL tests are more likely wrong than
440
- * right, skip them. Moreover, the unix owner access permissions are
441
- * usually mapped to the Windows attributes, so if the user is the
442
- * file owner then the attrib checks above are correct (as far as they
443
- * go).
444
- */
445
-
446
- if( !GetSecurityDescriptorOwner(sdPtr,&pSid,&SidDefaulted) ||
447
- memcmp(GetSidIdentifierAuthority(pSid),&samba_unmapped,
448
- sizeof(SID_IDENTIFIER_AUTHORITY))==0 ){
449
- HeapFree(GetProcessHeap(), 0, sdPtr);
450
- fossil_filename_free(zMbcs);
451
- return 0; /* Attrib tests say access allowed. */
452
- }
453
-
454
- /*
455
- * Perform security impersonation of the user and open the resulting
456
- * thread token.
457
- */
458
-
459
- if( !ImpersonateSelf(SecurityImpersonation) ){
460
- /*
461
- * Unable to perform security impersonation.
462
- */
463
-
464
- goto accessError;
465
- }
466
- if( !OpenThreadToken(GetCurrentThread(),
467
- TOKEN_DUPLICATE | TOKEN_QUERY, FALSE, &hToken) ){
468
- /*
469
- * Unable to get current thread's token.
470
- */
471
-
472
- goto accessError;
473
- }
474
-
475
- RevertToSelf();
476
-
477
- /*
478
- * Setup desiredAccess according to the access priveleges we are
479
- * checking.
480
- */
481
-
482
- if( flags & R_OK ){
483
- desiredAccess |= FILE_GENERIC_READ;
484
- }
485
- if( flags & W_OK){
486
- desiredAccess |= FILE_GENERIC_WRITE;
487
- }
488
-
489
- memset(&genMap, 0x0, sizeof(GENERIC_MAPPING));
490
- genMap.GenericRead = FILE_GENERIC_READ;
491
- genMap.GenericWrite = FILE_GENERIC_WRITE;
492
- genMap.GenericExecute = FILE_GENERIC_EXECUTE;
493
- genMap.GenericAll = FILE_ALL_ACCESS;
494
-
495
- /*
496
- * Perform access check using the token.
497
- */
498
-
499
- if( !AccessCheck(sdPtr, hToken, desiredAccess,
500
- &genMap, &privSet, &privSetSize, &grantedAccess,
501
- &accessYesNo) ){
502
- /*
503
- * Unable to perform access check.
504
- */
505
-
506
- accessError:
507
- if( sdPtr != NULL ){
508
- HeapFree(GetProcessHeap(), 0, sdPtr);
509
- }
510
- if( hToken != NULL ){
511
- CloseHandle(hToken);
512
- }
513
- fossil_filename_free(zMbcs);
514
- return -1;
515
- }
516
-
517
- /*
518
- * Clean up.
519
- */
520
-
521
- HeapFree(GetProcessHeap(), 0, sdPtr);
522
- CloseHandle(hToken);
523
- if( !accessYesNo ){
524
- rc = -1;
525
- }
322
+ return win32_access(zFilename, flags);
526323
#else
527324
char *zMbcs = fossil_utf8_to_filename(zFilename);
528325
int rc = access(zMbcs, flags);
529
-#endif
530326
fossil_filename_free(zMbcs);
531327
return rc;
328
+#endif
532329
}
533330
534331
/*
535332
** Wrapper around the chdir() system call.
536333
** If bChroot=1, do a chroot to this dir as well
537334
** (UNIX only)
538335
*/
539336
int file_chdir(const char *zChDir, int bChroot){
540337
#ifdef _WIN32
541
- wchar_t *zPath = fossil_utf8_to_filename(zChDir);
542
- int rc = SetCurrentDirectoryW(zPath)==0;
338
+ return win32_chdir(zChDir, bChroot);
543339
#else
544340
char *zPath = fossil_utf8_to_filename(zChDir);
545341
int rc = chdir(zPath);
546342
if( !rc && bChroot ){
547343
rc = chroot(zPath);
548344
if( !rc ) rc = chdir("/");
549345
}
550
-#endif
551346
fossil_filename_free(zPath);
552347
return rc;
348
+#endif
553349
}
554350
555351
/*
556352
** Find an unused filename similar to zBase with zSuffix appended.
557353
**
@@ -940,25 +736,11 @@
940736
** characters are converted to '/'. No conversions are needed on
941737
** unix.
942738
*/
943739
void file_getcwd(char *zBuf, int nBuf){
944740
#ifdef _WIN32
945
- char *zPwdUtf8;
946
- int nPwd;
947
- int i;
948
- wchar_t zPwd[2000];
949
- if( GetCurrentDirectoryW(count(zPwd), zPwd)==0 ){
950
- fossil_fatal("cannot find the current working directory.");
951
- }
952
- zPwdUtf8 = fossil_filename_to_utf8(zPwd);
953
- nPwd = strlen(zPwdUtf8);
954
- if( nPwd > nBuf-1 ){
955
- fossil_fatal("pwd too big: max %d\n", nBuf-1);
956
- }
957
- for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/';
958
- memcpy(zBuf, zPwdUtf8, nPwd+1);
959
- fossil_filename_free(zPwdUtf8);
741
+ win32_getcwd(zBuf, nBuf);
960742
#else
961743
if( getcwd(zBuf, nBuf-1)==0 ){
962744
if( errno==ERANGE ){
963745
fossil_fatal("pwd too big: max %d\n", nBuf-1);
964746
}else{
@@ -1388,26 +1170,10 @@
13881170
rc = blob_compare(&onDisk, pContent);
13891171
blob_reset(&onDisk);
13901172
return rc==0;
13911173
}
13921174
1393
-/*
1394
-** Portable unicode implementation of opendir()
1395
-*/
1396
-#if INTERFACE
1397
-
1398
-#include <dirent.h>
1399
-#if defined(_WIN32)
1400
-# define DIR _WDIR
1401
-# define dirent _wdirent
1402
-# define opendir _wopendir
1403
-# define readdir _wreaddir
1404
-# define closedir _wclosedir
1405
-#endif /* _WIN32 */
1406
-
1407
-#endif /* INTERFACE */
1408
-
14091175
/*
14101176
** Return the value of an environment variable as UTF8.
14111177
** Use fossil_filename_free() to release resources.
14121178
*/
14131179
char *fossil_getenv(const char *zName){
14141180
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
39 # include <sys/utime.h>
40 #else
41 # include <sys/time.h>
42 #endif
43
44 /*
45 ** The file status information from the most recent stat() call.
46 **
47 ** Use _stati64 rather than stat on windows, in order to handle files
48 ** larger than 2GB.
49 */
 
 
 
 
 
50 #if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
51 # undef stat
52 # define stat _fossil_stati64
53 struct stat {
54 i64 st_size;
55 i64 st_mtime;
56 int st_mode;
57 };
58 #endif
 
 
 
 
 
 
 
59 /*
60 ** On Windows S_ISLNK always returns FALSE.
61 */
62 #if !defined(S_ISLNK)
63 # define S_ISLNK(x) (0)
64 #endif
65 static int fileStatValid = 0;
66 static struct stat fileStat;
67
68 /*
69 ** Fill stat buf with information received from stat() or lstat().
70 ** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
71 **
72 */
73 static int fossil_stat(const char *zFilename, struct stat *buf, int isWd){
74 int rc;
75 #if !defined(_WIN32)
 
76 char *zMbcs = fossil_utf8_to_filename(zFilename);
77 if( isWd && g.allowSymlinks ){
78 rc = lstat(zMbcs, buf);
79 }else{
80 rc = stat(zMbcs, buf);
81 }
82 #else
83 WIN32_FILE_ATTRIBUTE_DATA attr;
84 wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
85 rc = !GetFileAttributesExW(zMbcs, GetFileExInfoStandard, &attr);
86 if( !rc ){
87 ULARGE_INTEGER ull;
88 ull.LowPart = attr.ftLastWriteTime.dwLowDateTime;
89 ull.HighPart = attr.ftLastWriteTime.dwHighDateTime;
90 buf->st_mode = (attr.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)?
91 S_IFDIR:S_IFREG;
92 buf->st_size = (((i64)attr.nFileSizeHigh)<<32) | attr.nFileSizeLow;
93 buf->st_mtime = ull.QuadPart / 10000000ULL - 11644473600ULL;
94 }
95 #endif
96 fossil_filename_free(zMbcs);
97 return rc;
 
 
 
98 }
99
100 /*
101 ** Fill in the fileStat variable for the file named zFilename.
102 ** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
318 /*
319 ** Wrapper around the access() system call.
320 */
321 int file_access(const char *zFilename, int flags){
322 #ifdef _WIN32
323 SECURITY_DESCRIPTOR *sdPtr = NULL;
324 unsigned long size;
325 PSID pSid = 0;
326 BOOL SidDefaulted;
327 SID_IDENTIFIER_AUTHORITY samba_unmapped = {{0, 0, 0, 0, 0, 22}};
328 GENERIC_MAPPING genMap;
329 HANDLE hToken = NULL;
330 DWORD desiredAccess = 0, grantedAccess = 0;
331 BOOL accessYesNo = FALSE;
332 PRIVILEGE_SET privSet;
333 DWORD privSetSize = sizeof(PRIVILEGE_SET);
334 int rc = 0;
335 DWORD attr;
336 wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
337
338 attr = GetFileAttributesW(zMbcs);
339
340 if( attr==INVALID_FILE_ATTRIBUTES ){
341 /*
342 * File might not exist.
343 */
344
345 if( GetLastError()!=ERROR_SHARING_VIOLATION ){
346 fossil_filename_free(zMbcs);
347 return -1;
348 }
349 }
350
351 if( flags==F_OK ){
352 /*
353 * File exists, nothing else to check.
354 */
355
356 fossil_filename_free(zMbcs);
357 return 0;
358 }
359
360 if( (flags & W_OK)
361 && (attr & FILE_ATTRIBUTE_READONLY)
362 && !(attr & FILE_ATTRIBUTE_DIRECTORY) ){
363 /*
364 * The attributes say the file is not writable. If the file is a
365 * regular file (i.e., not a directory), then the file is not
366 * writable, full stop. For directories, the read-only bit is
367 * (mostly) ignored by Windows, so we can't ascertain anything about
368 * directory access from the attrib data. However, if we have the
369 * advanced 'getFileSecurityProc', then more robust ACL checks
370 * will be done below.
371 */
372
373 fossil_filename_free(zMbcs);
374 return -1;
375 }
376
377 /*
378 * It looks as if the permissions are ok, but if we are on NT, 2000 or XP,
379 * we have a more complex permissions structure so we try to check that.
380 * The code below is remarkably complex for such a simple thing as finding
381 * what permissions the OS has set for a file.
382 */
383
384 /*
385 * First find out how big the buffer needs to be.
386 */
387
388 size = 0;
389 GetFileSecurityW(zMbcs,
390 OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
391 | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
392 0, 0, &size);
393
394 /*
395 * Should have failed with ERROR_INSUFFICIENT_BUFFER
396 */
397
398 if( GetLastError()!=ERROR_INSUFFICIENT_BUFFER ){
399 /*
400 * Most likely case is ERROR_ACCESS_DENIED, which we will convert
401 * to EACCES - just what we want!
402 */
403
404 fossil_filename_free(zMbcs);
405 return -1;
406 }
407
408 /*
409 * Now size contains the size of buffer needed.
410 */
411
412 sdPtr = (SECURITY_DESCRIPTOR *) HeapAlloc(GetProcessHeap(), 0, size);
413
414 if( sdPtr == NULL ){
415 goto accessError;
416 }
417
418 /*
419 * Call GetFileSecurity() for real.
420 */
421
422 if( !GetFileSecurityW(zMbcs,
423 OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
424 | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
425 sdPtr, size, &size) ){
426 /*
427 * Error getting owner SD
428 */
429
430 goto accessError;
431 }
432
433 /*
434 * As of Samba 3.0.23 (10-Jul-2006), unmapped users and groups are
435 * assigned to SID domains S-1-22-1 and S-1-22-2, where "22" is the
436 * top-level authority. If the file owner and group is unmapped then
437 * the ACL access check below will only test against world access,
438 * which is likely to be more restrictive than the actual access
439 * restrictions. Since the ACL tests are more likely wrong than
440 * right, skip them. Moreover, the unix owner access permissions are
441 * usually mapped to the Windows attributes, so if the user is the
442 * file owner then the attrib checks above are correct (as far as they
443 * go).
444 */
445
446 if( !GetSecurityDescriptorOwner(sdPtr,&pSid,&SidDefaulted) ||
447 memcmp(GetSidIdentifierAuthority(pSid),&samba_unmapped,
448 sizeof(SID_IDENTIFIER_AUTHORITY))==0 ){
449 HeapFree(GetProcessHeap(), 0, sdPtr);
450 fossil_filename_free(zMbcs);
451 return 0; /* Attrib tests say access allowed. */
452 }
453
454 /*
455 * Perform security impersonation of the user and open the resulting
456 * thread token.
457 */
458
459 if( !ImpersonateSelf(SecurityImpersonation) ){
460 /*
461 * Unable to perform security impersonation.
462 */
463
464 goto accessError;
465 }
466 if( !OpenThreadToken(GetCurrentThread(),
467 TOKEN_DUPLICATE | TOKEN_QUERY, FALSE, &hToken) ){
468 /*
469 * Unable to get current thread's token.
470 */
471
472 goto accessError;
473 }
474
475 RevertToSelf();
476
477 /*
478 * Setup desiredAccess according to the access priveleges we are
479 * checking.
480 */
481
482 if( flags & R_OK ){
483 desiredAccess |= FILE_GENERIC_READ;
484 }
485 if( flags & W_OK){
486 desiredAccess |= FILE_GENERIC_WRITE;
487 }
488
489 memset(&genMap, 0x0, sizeof(GENERIC_MAPPING));
490 genMap.GenericRead = FILE_GENERIC_READ;
491 genMap.GenericWrite = FILE_GENERIC_WRITE;
492 genMap.GenericExecute = FILE_GENERIC_EXECUTE;
493 genMap.GenericAll = FILE_ALL_ACCESS;
494
495 /*
496 * Perform access check using the token.
497 */
498
499 if( !AccessCheck(sdPtr, hToken, desiredAccess,
500 &genMap, &privSet, &privSetSize, &grantedAccess,
501 &accessYesNo) ){
502 /*
503 * Unable to perform access check.
504 */
505
506 accessError:
507 if( sdPtr != NULL ){
508 HeapFree(GetProcessHeap(), 0, sdPtr);
509 }
510 if( hToken != NULL ){
511 CloseHandle(hToken);
512 }
513 fossil_filename_free(zMbcs);
514 return -1;
515 }
516
517 /*
518 * Clean up.
519 */
520
521 HeapFree(GetProcessHeap(), 0, sdPtr);
522 CloseHandle(hToken);
523 if( !accessYesNo ){
524 rc = -1;
525 }
526 #else
527 char *zMbcs = fossil_utf8_to_filename(zFilename);
528 int rc = access(zMbcs, flags);
529 #endif
530 fossil_filename_free(zMbcs);
531 return rc;
 
532 }
533
534 /*
535 ** Wrapper around the chdir() system call.
536 ** If bChroot=1, do a chroot to this dir as well
537 ** (UNIX only)
538 */
539 int file_chdir(const char *zChDir, int bChroot){
540 #ifdef _WIN32
541 wchar_t *zPath = fossil_utf8_to_filename(zChDir);
542 int rc = SetCurrentDirectoryW(zPath)==0;
543 #else
544 char *zPath = fossil_utf8_to_filename(zChDir);
545 int rc = chdir(zPath);
546 if( !rc && bChroot ){
547 rc = chroot(zPath);
548 if( !rc ) rc = chdir("/");
549 }
550 #endif
551 fossil_filename_free(zPath);
552 return rc;
 
553 }
554
555 /*
556 ** Find an unused filename similar to zBase with zSuffix appended.
557 **
@@ -940,25 +736,11 @@
940 ** characters are converted to '/'. No conversions are needed on
941 ** unix.
942 */
943 void file_getcwd(char *zBuf, int nBuf){
944 #ifdef _WIN32
945 char *zPwdUtf8;
946 int nPwd;
947 int i;
948 wchar_t zPwd[2000];
949 if( GetCurrentDirectoryW(count(zPwd), zPwd)==0 ){
950 fossil_fatal("cannot find the current working directory.");
951 }
952 zPwdUtf8 = fossil_filename_to_utf8(zPwd);
953 nPwd = strlen(zPwdUtf8);
954 if( nPwd > nBuf-1 ){
955 fossil_fatal("pwd too big: max %d\n", nBuf-1);
956 }
957 for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/';
958 memcpy(zBuf, zPwdUtf8, nPwd+1);
959 fossil_filename_free(zPwdUtf8);
960 #else
961 if( getcwd(zBuf, nBuf-1)==0 ){
962 if( errno==ERANGE ){
963 fossil_fatal("pwd too big: max %d\n", nBuf-1);
964 }else{
@@ -1388,26 +1170,10 @@
1388 rc = blob_compare(&onDisk, pContent);
1389 blob_reset(&onDisk);
1390 return rc==0;
1391 }
1392
1393 /*
1394 ** Portable unicode implementation of opendir()
1395 */
1396 #if INTERFACE
1397
1398 #include <dirent.h>
1399 #if defined(_WIN32)
1400 # define DIR _WDIR
1401 # define dirent _wdirent
1402 # define opendir _wopendir
1403 # define readdir _wreaddir
1404 # define closedir _wclosedir
1405 #endif /* _WIN32 */
1406
1407 #endif /* INTERFACE */
1408
1409 /*
1410 ** Return the value of an environment variable as UTF8.
1411 ** Use fossil_filename_free() to release resources.
1412 */
1413 char *fossil_getenv(const char *zName){
1414
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
39 # include <sys/utime.h>
40 #else
41 # include <sys/time.h>
42 #endif
43
44 #if INTERFACE
45
46 #include <dirent.h>
47 #if defined(_WIN32)
48 # define DIR _WDIR
49 # define dirent _wdirent
50 # define opendir _wopendir
51 # define readdir _wreaddir
52 # define closedir _wclosedir
53 #endif /* _WIN32 */
54
55 #if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
56 struct fossilStat {
 
 
57 i64 st_size;
58 i64 st_mtime;
59 int st_mode;
60 };
61 #endif
62
63 #endif /* INTERFACE */
64
65 #if !defined(_WIN32) || !(defined(__MSVCRT__) || defined(_MSC_VER))
66 # define fossilStat stat
67 #endif
68
69 /*
70 ** On Windows S_ISLNK always returns FALSE.
71 */
72 #if !defined(S_ISLNK)
73 # define S_ISLNK(x) (0)
74 #endif
75 static int fileStatValid = 0;
76 static struct fossilStat fileStat;
77
78 /*
79 ** Fill stat buf with information received from stat() or lstat().
80 ** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
81 **
82 */
83 static int fossil_stat(const char *zFilename, struct fossilStat *buf, int isWd){
 
84 #if !defined(_WIN32)
85 int rc;
86 char *zMbcs = fossil_utf8_to_filename(zFilename);
87 if( isWd && g.allowSymlinks ){
88 rc = lstat(zMbcs, buf);
89 }else{
90 rc = stat(zMbcs, buf);
91 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92 fossil_filename_free(zMbcs);
93 return rc;
94 #else
95 return win32_stat(zFilename, buf, isWd);
96 #endif
97 }
98
99 /*
100 ** Fill in the fileStat variable for the file named zFilename.
101 ** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
317 /*
318 ** Wrapper around the access() system call.
319 */
320 int file_access(const char *zFilename, int flags){
321 #ifdef _WIN32
322 return win32_access(zFilename, flags);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323 #else
324 char *zMbcs = fossil_utf8_to_filename(zFilename);
325 int rc = access(zMbcs, flags);
 
326 fossil_filename_free(zMbcs);
327 return rc;
328 #endif
329 }
330
331 /*
332 ** Wrapper around the chdir() system call.
333 ** If bChroot=1, do a chroot to this dir as well
334 ** (UNIX only)
335 */
336 int file_chdir(const char *zChDir, int bChroot){
337 #ifdef _WIN32
338 return win32_chdir(zChDir, bChroot);
 
339 #else
340 char *zPath = fossil_utf8_to_filename(zChDir);
341 int rc = chdir(zPath);
342 if( !rc && bChroot ){
343 rc = chroot(zPath);
344 if( !rc ) rc = chdir("/");
345 }
 
346 fossil_filename_free(zPath);
347 return rc;
348 #endif
349 }
350
351 /*
352 ** Find an unused filename similar to zBase with zSuffix appended.
353 **
@@ -940,25 +736,11 @@
736 ** characters are converted to '/'. No conversions are needed on
737 ** unix.
738 */
739 void file_getcwd(char *zBuf, int nBuf){
740 #ifdef _WIN32
741 win32_getcwd(zBuf, nBuf);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742 #else
743 if( getcwd(zBuf, nBuf-1)==0 ){
744 if( errno==ERANGE ){
745 fossil_fatal("pwd too big: max %d\n", nBuf-1);
746 }else{
@@ -1388,26 +1170,10 @@
1170 rc = blob_compare(&onDisk, pContent);
1171 blob_reset(&onDisk);
1172 return rc==0;
1173 }
1174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1175 /*
1176 ** Return the value of an environment variable as UTF8.
1177 ** Use fossil_filename_free() to release resources.
1178 */
1179 char *fossil_getenv(const char *zName){
1180
+35 -15
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
17701770
if( modPending ){
17711771
@ <span class="modpending">*** Awaiting Moderator Approval ***</span>
17721772
}
17731773
@ <tr><th>Ticket:</th>
17741774
@ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775
- if(zTktTitle){
1775
+ if( zTktTitle ){
17761776
@<br>%h(zTktTitle)
17771777
}
17781778
@</td></tr>
17791779
@ <tr><th>Date:</th><td>
17801780
hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
20512051
const char *zNewTagFlag;
20522052
const char *zNewTag;
20532053
const char *zNewBrFlag;
20542054
const char *zNewBranch;
20552055
const char *zCloseFlag;
2056
+ const char *zHideFlag;
20562057
int fPropagateColor; /* True if color propagates before edit */
20572058
int fNewPropagateColor; /* True if color propagates after edit */
2059
+ int fHasHidden = 0; /* True if hidden tag already set */
20582060
int fHasClosed = 0; /* True if closed tag already set */
20592061
const char *zChngTime = 0; /* Value of chngtime= query param, if any */
20602062
char *zUuid;
20612063
Blob comment;
20622064
char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
20952097
zNewTagFlag = P("newtag") ? " checked" : "";
20962098
zNewTag = PDT("tagname","");
20972099
zNewBrFlag = P("newbr") ? " checked" : "";
20982100
zNewBranch = PDT("brname","");
20992101
zCloseFlag = P("close") ? " checked" : "";
2102
+ zHideFlag = P("hide") ? " checked" : "";
21002103
if( P("apply") ){
21012104
Blob ctrl;
21022105
char *zNow;
21032106
int nChng = 0;
21042107
@@ -2145,10 +2148,13 @@
21452148
if( P(zLabel) ){
21462149
db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
21472150
}
21482151
}
21492152
db_finalize(&q);
2153
+ if( zHideFlag[0] ){
2154
+ db_multi_exec("REPLACE INTO newtags VALUES('hidden','*',NULL)");
2155
+ }
21502156
if( zCloseFlag[0] ){
21512157
db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
21522158
is_a_leaf(rid)?"+":"*");
21532159
}
21542160
if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
22042210
** chgcbn/chgbn: Handle change of (checkbox for) branch name in
22052211
** remaining of form.
22062212
*/
22072213
@ <script>
22082214
@ function chgcbn(checked, branch){
2209
- @ val = gebi('brname').value;
2210
- @ if( !val || !checked) val = branch;
2215
+ @ val = gebi('brname').value.trim();
2216
+ @ if( !val || !checked ) val = branch;
2217
+ @ if( checked ) gebi('brname').select();
2218
+ @ gebi('hbranch').textContent = val;
22112219
@ cidbrid = document.getElementById('cbranch');
22122220
@ if( cidbrid ) cidbrid.textContent = val;
22132221
@ }
22142222
@ function chgbn(val, branch){
22152223
@ if( !val ) val = branch;
22162224
@ gebi('newbr').checked = (val!=branch);
2225
+ @ gebi('hbranch').textContent = val;
22172226
@ cidbrid = document.getElementById('cbranch');
22182227
@ if( cidbrid ) cidbrid.textContent = val;
22192228
@ }
22202229
@ </script>
22212230
if( P("preview") ){
@@ -2295,10 +2304,13 @@
22952304
@ <td valign="top">
22962305
@ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
22972306
@ Add the following new tag name to this check-in:</label>
22982307
@ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
22992308
@ onkeyup="gebi('newtag').checked=!!this.value" />
2309
+ zBranchName = db_text(0, "SELECT value FROM tagxref, tag"
2310
+ " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2311
+ " AND tagxref.tagid=%d", rid, TAG_BRANCH);
23002312
db_prepare(&q,
23012313
"SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
23022314
" WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
23032315
" ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
23042316
" ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
23052317
rid
23062318
);
23072319
while( db_step(&q)==SQLITE_ROW ){
23082320
int tagid = db_column_int(&q, 0);
23092321
const char *zTagName = db_column_text(&q, 1);
2310
- int isSpecialTag = strncmp(zTagName, "sym-", 4)!=0;
2322
+ int isSpecialTag = fossil_strncmp(zTagName, "sym-", 4)!=0;
23112323
char zLabel[30];
23122324
2313
- if (tagid == TAG_CLOSED){
2314
- fHasClosed = 1;
2315
- }else if (tagid == TAG_COMMENT){
2316
- continue;
2317
- }else if (tagid == TAG_BRANCH){
2318
- zBranchName = mprintf("%s", db_column_text(&q, 2));
2319
- continue;
2320
- }else if( !isSpecialTag && zBranchName &&
2321
- strcmp(&zTagName[4], zBranchName)==0){
2325
+ if( tagid == TAG_CLOSED ){
2326
+ fHasClosed = 1;
2327
+ }else if( (tagid == TAG_COMMENT) || (tagid == TAG_BRANCH) ){
2328
+ continue;
2329
+ }else if( tagid==TAG_HIDDEN ){
2330
+ fHasHidden = 1;
2331
+ }else if( !isSpecialTag && zTagName &&
2332
+ fossil_strcmp(&zTagName[4], zBranchName)==0){
23222333
continue;
23232334
}
23242335
sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
23252336
@ <br /><label>
23262337
if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
23482359
@ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
23492360
@ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
23502361
@ Make this check-in the start of a new branch named:</label>
23512362
@ <input id="brname" type="text" style="width:15;" name="brname"
23522363
@ value="%h(zNewBranch)"
2353
- @ onkeyup="chgbn(this.value,'%h(zBranchName)')" /></td></tr>
2364
+ @ onkeyup="chgbn(this.value.trim(),'%h(zBranchName)')" /></td></tr>
2365
+ if( !fHasHidden ){
2366
+ @ <tr><th align="right" valign="top">Branch Hiding:</th>
2367
+ @ <td valign="top">
2368
+ @ <label><input type="checkbox" id="hidebr" name="hide"%s(zHideFlag) />
2369
+ @ Hide branch
2370
+ @ <span style="font-weight:bold" id="hbranch">%h(zBranchName)</span>
2371
+ @ from the timeline starting from this check-in</label>
2372
+ @ </td></tr>
2373
+ }
23542374
if( !fHasClosed ){
23552375
if( is_a_leaf(rid) ){
23562376
@ <tr><th align="right" valign="top">Leaf Closure:</th>
23572377
@ <td valign="top">
23582378
@ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
23682388
@ as "closed" so that its leafs no longer appear on the "leaves" page
23692389
@ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
23702390
@ </td></tr>
23712391
}
23722392
}
2373
- if(zBranchName) fossil_free(zBranchName);
2393
+ if( zBranchName ) fossil_free(zBranchName);
23742394
23752395
23762396
@ <tr><td colspan="2">
23772397
@ <input type="submit" name="preview" value="Preview" />
23782398
@ <input type="submit" name="apply" value="Apply Changes" />
23792399
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
1770 if( modPending ){
1771 @ <span class="modpending">*** Awaiting Moderator Approval ***</span>
1772 }
1773 @ <tr><th>Ticket:</th>
1774 @ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775 if(zTktTitle){
1776 @<br>%h(zTktTitle)
1777 }
1778 @</td></tr>
1779 @ <tr><th>Date:</th><td>
1780 hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
2051 const char *zNewTagFlag;
2052 const char *zNewTag;
2053 const char *zNewBrFlag;
2054 const char *zNewBranch;
2055 const char *zCloseFlag;
 
2056 int fPropagateColor; /* True if color propagates before edit */
2057 int fNewPropagateColor; /* True if color propagates after edit */
 
2058 int fHasClosed = 0; /* True if closed tag already set */
2059 const char *zChngTime = 0; /* Value of chngtime= query param, if any */
2060 char *zUuid;
2061 Blob comment;
2062 char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
2095 zNewTagFlag = P("newtag") ? " checked" : "";
2096 zNewTag = PDT("tagname","");
2097 zNewBrFlag = P("newbr") ? " checked" : "";
2098 zNewBranch = PDT("brname","");
2099 zCloseFlag = P("close") ? " checked" : "";
 
2100 if( P("apply") ){
2101 Blob ctrl;
2102 char *zNow;
2103 int nChng = 0;
2104
@@ -2145,10 +2148,13 @@
2145 if( P(zLabel) ){
2146 db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
2147 }
2148 }
2149 db_finalize(&q);
 
 
 
2150 if( zCloseFlag[0] ){
2151 db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
2152 is_a_leaf(rid)?"+":"*");
2153 }
2154 if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
2204 ** chgcbn/chgbn: Handle change of (checkbox for) branch name in
2205 ** remaining of form.
2206 */
2207 @ <script>
2208 @ function chgcbn(checked, branch){
2209 @ val = gebi('brname').value;
2210 @ if( !val || !checked) val = branch;
 
 
2211 @ cidbrid = document.getElementById('cbranch');
2212 @ if( cidbrid ) cidbrid.textContent = val;
2213 @ }
2214 @ function chgbn(val, branch){
2215 @ if( !val ) val = branch;
2216 @ gebi('newbr').checked = (val!=branch);
 
2217 @ cidbrid = document.getElementById('cbranch');
2218 @ if( cidbrid ) cidbrid.textContent = val;
2219 @ }
2220 @ </script>
2221 if( P("preview") ){
@@ -2295,10 +2304,13 @@
2295 @ <td valign="top">
2296 @ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
2297 @ Add the following new tag name to this check-in:</label>
2298 @ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
2299 @ onkeyup="gebi('newtag').checked=!!this.value" />
 
 
 
2300 db_prepare(&q,
2301 "SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
2302 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2303 " ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
2304 " ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
2305 rid
2306 );
2307 while( db_step(&q)==SQLITE_ROW ){
2308 int tagid = db_column_int(&q, 0);
2309 const char *zTagName = db_column_text(&q, 1);
2310 int isSpecialTag = strncmp(zTagName, "sym-", 4)!=0;
2311 char zLabel[30];
2312
2313 if (tagid == TAG_CLOSED){
2314 fHasClosed = 1;
2315 }else if (tagid == TAG_COMMENT){
2316 continue;
2317 }else if (tagid == TAG_BRANCH){
2318 zBranchName = mprintf("%s", db_column_text(&q, 2));
2319 continue;
2320 }else if( !isSpecialTag && zBranchName &&
2321 strcmp(&zTagName[4], zBranchName)==0){
2322 continue;
2323 }
2324 sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
2325 @ <br /><label>
2326 if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
2348 @ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
2349 @ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
2350 @ Make this check-in the start of a new branch named:</label>
2351 @ <input id="brname" type="text" style="width:15;" name="brname"
2352 @ value="%h(zNewBranch)"
2353 @ onkeyup="chgbn(this.value,'%h(zBranchName)')" /></td></tr>
 
 
 
 
 
 
 
 
 
2354 if( !fHasClosed ){
2355 if( is_a_leaf(rid) ){
2356 @ <tr><th align="right" valign="top">Leaf Closure:</th>
2357 @ <td valign="top">
2358 @ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
2368 @ as "closed" so that its leafs no longer appear on the "leaves" page
2369 @ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
2370 @ </td></tr>
2371 }
2372 }
2373 if(zBranchName) fossil_free(zBranchName);
2374
2375
2376 @ <tr><td colspan="2">
2377 @ <input type="submit" name="preview" value="Preview" />
2378 @ <input type="submit" name="apply" value="Apply Changes" />
2379
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
1770 if( modPending ){
1771 @ <span class="modpending">*** Awaiting Moderator Approval ***</span>
1772 }
1773 @ <tr><th>Ticket:</th>
1774 @ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775 if( zTktTitle ){
1776 @<br>%h(zTktTitle)
1777 }
1778 @</td></tr>
1779 @ <tr><th>Date:</th><td>
1780 hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
2051 const char *zNewTagFlag;
2052 const char *zNewTag;
2053 const char *zNewBrFlag;
2054 const char *zNewBranch;
2055 const char *zCloseFlag;
2056 const char *zHideFlag;
2057 int fPropagateColor; /* True if color propagates before edit */
2058 int fNewPropagateColor; /* True if color propagates after edit */
2059 int fHasHidden = 0; /* True if hidden tag already set */
2060 int fHasClosed = 0; /* True if closed tag already set */
2061 const char *zChngTime = 0; /* Value of chngtime= query param, if any */
2062 char *zUuid;
2063 Blob comment;
2064 char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
2097 zNewTagFlag = P("newtag") ? " checked" : "";
2098 zNewTag = PDT("tagname","");
2099 zNewBrFlag = P("newbr") ? " checked" : "";
2100 zNewBranch = PDT("brname","");
2101 zCloseFlag = P("close") ? " checked" : "";
2102 zHideFlag = P("hide") ? " checked" : "";
2103 if( P("apply") ){
2104 Blob ctrl;
2105 char *zNow;
2106 int nChng = 0;
2107
@@ -2145,10 +2148,13 @@
2148 if( P(zLabel) ){
2149 db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
2150 }
2151 }
2152 db_finalize(&q);
2153 if( zHideFlag[0] ){
2154 db_multi_exec("REPLACE INTO newtags VALUES('hidden','*',NULL)");
2155 }
2156 if( zCloseFlag[0] ){
2157 db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
2158 is_a_leaf(rid)?"+":"*");
2159 }
2160 if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
2210 ** chgcbn/chgbn: Handle change of (checkbox for) branch name in
2211 ** remaining of form.
2212 */
2213 @ <script>
2214 @ function chgcbn(checked, branch){
2215 @ val = gebi('brname').value.trim();
2216 @ if( !val || !checked ) val = branch;
2217 @ if( checked ) gebi('brname').select();
2218 @ gebi('hbranch').textContent = val;
2219 @ cidbrid = document.getElementById('cbranch');
2220 @ if( cidbrid ) cidbrid.textContent = val;
2221 @ }
2222 @ function chgbn(val, branch){
2223 @ if( !val ) val = branch;
2224 @ gebi('newbr').checked = (val!=branch);
2225 @ gebi('hbranch').textContent = val;
2226 @ cidbrid = document.getElementById('cbranch');
2227 @ if( cidbrid ) cidbrid.textContent = val;
2228 @ }
2229 @ </script>
2230 if( P("preview") ){
@@ -2295,10 +2304,13 @@
2304 @ <td valign="top">
2305 @ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
2306 @ Add the following new tag name to this check-in:</label>
2307 @ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
2308 @ onkeyup="gebi('newtag').checked=!!this.value" />
2309 zBranchName = db_text(0, "SELECT value FROM tagxref, tag"
2310 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2311 " AND tagxref.tagid=%d", rid, TAG_BRANCH);
2312 db_prepare(&q,
2313 "SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
2314 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2315 " ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
2316 " ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
2317 rid
2318 );
2319 while( db_step(&q)==SQLITE_ROW ){
2320 int tagid = db_column_int(&q, 0);
2321 const char *zTagName = db_column_text(&q, 1);
2322 int isSpecialTag = fossil_strncmp(zTagName, "sym-", 4)!=0;
2323 char zLabel[30];
2324
2325 if( tagid == TAG_CLOSED ){
2326 fHasClosed = 1;
2327 }else if( (tagid == TAG_COMMENT) || (tagid == TAG_BRANCH) ){
2328 continue;
2329 }else if( tagid==TAG_HIDDEN ){
2330 fHasHidden = 1;
2331 }else if( !isSpecialTag && zTagName &&
2332 fossil_strcmp(&zTagName[4], zBranchName)==0){
 
2333 continue;
2334 }
2335 sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
2336 @ <br /><label>
2337 if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
2359 @ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
2360 @ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
2361 @ Make this check-in the start of a new branch named:</label>
2362 @ <input id="brname" type="text" style="width:15;" name="brname"
2363 @ value="%h(zNewBranch)"
2364 @ onkeyup="chgbn(this.value.trim(),'%h(zBranchName)')" /></td></tr>
2365 if( !fHasHidden ){
2366 @ <tr><th align="right" valign="top">Branch Hiding:</th>
2367 @ <td valign="top">
2368 @ <label><input type="checkbox" id="hidebr" name="hide"%s(zHideFlag) />
2369 @ Hide branch
2370 @ <span style="font-weight:bold" id="hbranch">%h(zBranchName)</span>
2371 @ from the timeline starting from this check-in</label>
2372 @ </td></tr>
2373 }
2374 if( !fHasClosed ){
2375 if( is_a_leaf(rid) ){
2376 @ <tr><th align="right" valign="top">Leaf Closure:</th>
2377 @ <td valign="top">
2378 @ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
2388 @ as "closed" so that its leafs no longer appear on the "leaves" page
2389 @ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
2390 @ </td></tr>
2391 }
2392 }
2393 if( zBranchName ) fossil_free(zBranchName);
2394
2395
2396 @ <tr><td colspan="2">
2397 @ <input type="submit" name="preview" value="Preview" />
2398 @ <input type="submit" name="apply" value="Apply Changes" />
2399
+35 -15
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
17701770
if( modPending ){
17711771
@ <span class="modpending">*** Awaiting Moderator Approval ***</span>
17721772
}
17731773
@ <tr><th>Ticket:</th>
17741774
@ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775
- if(zTktTitle){
1775
+ if( zTktTitle ){
17761776
@<br>%h(zTktTitle)
17771777
}
17781778
@</td></tr>
17791779
@ <tr><th>Date:</th><td>
17801780
hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
20512051
const char *zNewTagFlag;
20522052
const char *zNewTag;
20532053
const char *zNewBrFlag;
20542054
const char *zNewBranch;
20552055
const char *zCloseFlag;
2056
+ const char *zHideFlag;
20562057
int fPropagateColor; /* True if color propagates before edit */
20572058
int fNewPropagateColor; /* True if color propagates after edit */
2059
+ int fHasHidden = 0; /* True if hidden tag already set */
20582060
int fHasClosed = 0; /* True if closed tag already set */
20592061
const char *zChngTime = 0; /* Value of chngtime= query param, if any */
20602062
char *zUuid;
20612063
Blob comment;
20622064
char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
20952097
zNewTagFlag = P("newtag") ? " checked" : "";
20962098
zNewTag = PDT("tagname","");
20972099
zNewBrFlag = P("newbr") ? " checked" : "";
20982100
zNewBranch = PDT("brname","");
20992101
zCloseFlag = P("close") ? " checked" : "";
2102
+ zHideFlag = P("hide") ? " checked" : "";
21002103
if( P("apply") ){
21012104
Blob ctrl;
21022105
char *zNow;
21032106
int nChng = 0;
21042107
@@ -2145,10 +2148,13 @@
21452148
if( P(zLabel) ){
21462149
db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
21472150
}
21482151
}
21492152
db_finalize(&q);
2153
+ if( zHideFlag[0] ){
2154
+ db_multi_exec("REPLACE INTO newtags VALUES('hidden','*',NULL)");
2155
+ }
21502156
if( zCloseFlag[0] ){
21512157
db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
21522158
is_a_leaf(rid)?"+":"*");
21532159
}
21542160
if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
22042210
** chgcbn/chgbn: Handle change of (checkbox for) branch name in
22052211
** remaining of form.
22062212
*/
22072213
@ <script>
22082214
@ function chgcbn(checked, branch){
2209
- @ val = gebi('brname').value;
2210
- @ if( !val || !checked) val = branch;
2215
+ @ val = gebi('brname').value.trim();
2216
+ @ if( !val || !checked ) val = branch;
2217
+ @ if( checked ) gebi('brname').select();
2218
+ @ gebi('hbranch').textContent = val;
22112219
@ cidbrid = document.getElementById('cbranch');
22122220
@ if( cidbrid ) cidbrid.textContent = val;
22132221
@ }
22142222
@ function chgbn(val, branch){
22152223
@ if( !val ) val = branch;
22162224
@ gebi('newbr').checked = (val!=branch);
2225
+ @ gebi('hbranch').textContent = val;
22172226
@ cidbrid = document.getElementById('cbranch');
22182227
@ if( cidbrid ) cidbrid.textContent = val;
22192228
@ }
22202229
@ </script>
22212230
if( P("preview") ){
@@ -2295,10 +2304,13 @@
22952304
@ <td valign="top">
22962305
@ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
22972306
@ Add the following new tag name to this check-in:</label>
22982307
@ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
22992308
@ onkeyup="gebi('newtag').checked=!!this.value" />
2309
+ zBranchName = db_text(0, "SELECT value FROM tagxref, tag"
2310
+ " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2311
+ " AND tagxref.tagid=%d", rid, TAG_BRANCH);
23002312
db_prepare(&q,
23012313
"SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
23022314
" WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
23032315
" ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
23042316
" ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
23052317
rid
23062318
);
23072319
while( db_step(&q)==SQLITE_ROW ){
23082320
int tagid = db_column_int(&q, 0);
23092321
const char *zTagName = db_column_text(&q, 1);
2310
- int isSpecialTag = strncmp(zTagName, "sym-", 4)!=0;
2322
+ int isSpecialTag = fossil_strncmp(zTagName, "sym-", 4)!=0;
23112323
char zLabel[30];
23122324
2313
- if (tagid == TAG_CLOSED){
2314
- fHasClosed = 1;
2315
- }else if (tagid == TAG_COMMENT){
2316
- continue;
2317
- }else if (tagid == TAG_BRANCH){
2318
- zBranchName = mprintf("%s", db_column_text(&q, 2));
2319
- continue;
2320
- }else if( !isSpecialTag && zBranchName &&
2321
- strcmp(&zTagName[4], zBranchName)==0){
2325
+ if( tagid == TAG_CLOSED ){
2326
+ fHasClosed = 1;
2327
+ }else if( (tagid == TAG_COMMENT) || (tagid == TAG_BRANCH) ){
2328
+ continue;
2329
+ }else if( tagid==TAG_HIDDEN ){
2330
+ fHasHidden = 1;
2331
+ }else if( !isSpecialTag && zTagName &&
2332
+ fossil_strcmp(&zTagName[4], zBranchName)==0){
23222333
continue;
23232334
}
23242335
sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
23252336
@ <br /><label>
23262337
if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
23482359
@ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
23492360
@ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
23502361
@ Make this check-in the start of a new branch named:</label>
23512362
@ <input id="brname" type="text" style="width:15;" name="brname"
23522363
@ value="%h(zNewBranch)"
2353
- @ onkeyup="chgbn(this.value,'%h(zBranchName)')" /></td></tr>
2364
+ @ onkeyup="chgbn(this.value.trim(),'%h(zBranchName)')" /></td></tr>
2365
+ if( !fHasHidden ){
2366
+ @ <tr><th align="right" valign="top">Branch Hiding:</th>
2367
+ @ <td valign="top">
2368
+ @ <label><input type="checkbox" id="hidebr" name="hide"%s(zHideFlag) />
2369
+ @ Hide branch
2370
+ @ <span style="font-weight:bold" id="hbranch">%h(zBranchName)</span>
2371
+ @ from the timeline starting from this check-in</label>
2372
+ @ </td></tr>
2373
+ }
23542374
if( !fHasClosed ){
23552375
if( is_a_leaf(rid) ){
23562376
@ <tr><th align="right" valign="top">Leaf Closure:</th>
23572377
@ <td valign="top">
23582378
@ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
23682388
@ as "closed" so that its leafs no longer appear on the "leaves" page
23692389
@ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
23702390
@ </td></tr>
23712391
}
23722392
}
2373
- if(zBranchName) fossil_free(zBranchName);
2393
+ if( zBranchName ) fossil_free(zBranchName);
23742394
23752395
23762396
@ <tr><td colspan="2">
23772397
@ <input type="submit" name="preview" value="Preview" />
23782398
@ <input type="submit" name="apply" value="Apply Changes" />
23792399
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
1770 if( modPending ){
1771 @ <span class="modpending">*** Awaiting Moderator Approval ***</span>
1772 }
1773 @ <tr><th>Ticket:</th>
1774 @ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775 if(zTktTitle){
1776 @<br>%h(zTktTitle)
1777 }
1778 @</td></tr>
1779 @ <tr><th>Date:</th><td>
1780 hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
2051 const char *zNewTagFlag;
2052 const char *zNewTag;
2053 const char *zNewBrFlag;
2054 const char *zNewBranch;
2055 const char *zCloseFlag;
 
2056 int fPropagateColor; /* True if color propagates before edit */
2057 int fNewPropagateColor; /* True if color propagates after edit */
 
2058 int fHasClosed = 0; /* True if closed tag already set */
2059 const char *zChngTime = 0; /* Value of chngtime= query param, if any */
2060 char *zUuid;
2061 Blob comment;
2062 char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
2095 zNewTagFlag = P("newtag") ? " checked" : "";
2096 zNewTag = PDT("tagname","");
2097 zNewBrFlag = P("newbr") ? " checked" : "";
2098 zNewBranch = PDT("brname","");
2099 zCloseFlag = P("close") ? " checked" : "";
 
2100 if( P("apply") ){
2101 Blob ctrl;
2102 char *zNow;
2103 int nChng = 0;
2104
@@ -2145,10 +2148,13 @@
2145 if( P(zLabel) ){
2146 db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
2147 }
2148 }
2149 db_finalize(&q);
 
 
 
2150 if( zCloseFlag[0] ){
2151 db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
2152 is_a_leaf(rid)?"+":"*");
2153 }
2154 if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
2204 ** chgcbn/chgbn: Handle change of (checkbox for) branch name in
2205 ** remaining of form.
2206 */
2207 @ <script>
2208 @ function chgcbn(checked, branch){
2209 @ val = gebi('brname').value;
2210 @ if( !val || !checked) val = branch;
 
 
2211 @ cidbrid = document.getElementById('cbranch');
2212 @ if( cidbrid ) cidbrid.textContent = val;
2213 @ }
2214 @ function chgbn(val, branch){
2215 @ if( !val ) val = branch;
2216 @ gebi('newbr').checked = (val!=branch);
 
2217 @ cidbrid = document.getElementById('cbranch');
2218 @ if( cidbrid ) cidbrid.textContent = val;
2219 @ }
2220 @ </script>
2221 if( P("preview") ){
@@ -2295,10 +2304,13 @@
2295 @ <td valign="top">
2296 @ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
2297 @ Add the following new tag name to this check-in:</label>
2298 @ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
2299 @ onkeyup="gebi('newtag').checked=!!this.value" />
 
 
 
2300 db_prepare(&q,
2301 "SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
2302 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2303 " ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
2304 " ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
2305 rid
2306 );
2307 while( db_step(&q)==SQLITE_ROW ){
2308 int tagid = db_column_int(&q, 0);
2309 const char *zTagName = db_column_text(&q, 1);
2310 int isSpecialTag = strncmp(zTagName, "sym-", 4)!=0;
2311 char zLabel[30];
2312
2313 if (tagid == TAG_CLOSED){
2314 fHasClosed = 1;
2315 }else if (tagid == TAG_COMMENT){
2316 continue;
2317 }else if (tagid == TAG_BRANCH){
2318 zBranchName = mprintf("%s", db_column_text(&q, 2));
2319 continue;
2320 }else if( !isSpecialTag && zBranchName &&
2321 strcmp(&zTagName[4], zBranchName)==0){
2322 continue;
2323 }
2324 sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
2325 @ <br /><label>
2326 if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
2348 @ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
2349 @ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
2350 @ Make this check-in the start of a new branch named:</label>
2351 @ <input id="brname" type="text" style="width:15;" name="brname"
2352 @ value="%h(zNewBranch)"
2353 @ onkeyup="chgbn(this.value,'%h(zBranchName)')" /></td></tr>
 
 
 
 
 
 
 
 
 
2354 if( !fHasClosed ){
2355 if( is_a_leaf(rid) ){
2356 @ <tr><th align="right" valign="top">Leaf Closure:</th>
2357 @ <td valign="top">
2358 @ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
2368 @ as "closed" so that its leafs no longer appear on the "leaves" page
2369 @ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
2370 @ </td></tr>
2371 }
2372 }
2373 if(zBranchName) fossil_free(zBranchName);
2374
2375
2376 @ <tr><td colspan="2">
2377 @ <input type="submit" name="preview" value="Preview" />
2378 @ <input type="submit" name="apply" value="Apply Changes" />
2379
--- src/info.c
+++ src/info.c
@@ -1770,11 +1770,11 @@
1770 if( modPending ){
1771 @ <span class="modpending">*** Awaiting Moderator Approval ***</span>
1772 }
1773 @ <tr><th>Ticket:</th>
1774 @ <td>%z(href("%R/tktview/%s",zTktName))%s(zTktName)</a>
1775 if( zTktTitle ){
1776 @<br>%h(zTktTitle)
1777 }
1778 @</td></tr>
1779 @ <tr><th>Date:</th><td>
1780 hyperlink_to_date(zDate, "</td></tr>");
@@ -2051,12 +2051,14 @@
2051 const char *zNewTagFlag;
2052 const char *zNewTag;
2053 const char *zNewBrFlag;
2054 const char *zNewBranch;
2055 const char *zCloseFlag;
2056 const char *zHideFlag;
2057 int fPropagateColor; /* True if color propagates before edit */
2058 int fNewPropagateColor; /* True if color propagates after edit */
2059 int fHasHidden = 0; /* True if hidden tag already set */
2060 int fHasClosed = 0; /* True if closed tag already set */
2061 const char *zChngTime = 0; /* Value of chngtime= query param, if any */
2062 char *zUuid;
2063 Blob comment;
2064 char *zBranchName = 0;
@@ -2095,10 +2097,11 @@
2097 zNewTagFlag = P("newtag") ? " checked" : "";
2098 zNewTag = PDT("tagname","");
2099 zNewBrFlag = P("newbr") ? " checked" : "";
2100 zNewBranch = PDT("brname","");
2101 zCloseFlag = P("close") ? " checked" : "";
2102 zHideFlag = P("hide") ? " checked" : "";
2103 if( P("apply") ){
2104 Blob ctrl;
2105 char *zNow;
2106 int nChng = 0;
2107
@@ -2145,10 +2148,13 @@
2148 if( P(zLabel) ){
2149 db_multi_exec("REPLACE INTO newtags VALUES(%Q,'-',NULL)", zTag);
2150 }
2151 }
2152 db_finalize(&q);
2153 if( zHideFlag[0] ){
2154 db_multi_exec("REPLACE INTO newtags VALUES('hidden','*',NULL)");
2155 }
2156 if( zCloseFlag[0] ){
2157 db_multi_exec("REPLACE INTO newtags VALUES('closed','%s',NULL)",
2158 is_a_leaf(rid)?"+":"*");
2159 }
2160 if( zNewTagFlag[0] && zNewTag[0] ){
@@ -2204,18 +2210,21 @@
2210 ** chgcbn/chgbn: Handle change of (checkbox for) branch name in
2211 ** remaining of form.
2212 */
2213 @ <script>
2214 @ function chgcbn(checked, branch){
2215 @ val = gebi('brname').value.trim();
2216 @ if( !val || !checked ) val = branch;
2217 @ if( checked ) gebi('brname').select();
2218 @ gebi('hbranch').textContent = val;
2219 @ cidbrid = document.getElementById('cbranch');
2220 @ if( cidbrid ) cidbrid.textContent = val;
2221 @ }
2222 @ function chgbn(val, branch){
2223 @ if( !val ) val = branch;
2224 @ gebi('newbr').checked = (val!=branch);
2225 @ gebi('hbranch').textContent = val;
2226 @ cidbrid = document.getElementById('cbranch');
2227 @ if( cidbrid ) cidbrid.textContent = val;
2228 @ }
2229 @ </script>
2230 if( P("preview") ){
@@ -2295,10 +2304,13 @@
2304 @ <td valign="top">
2305 @ <label><input type="checkbox" id="newtag" name="newtag"%s(zNewTagFlag) />
2306 @ Add the following new tag name to this check-in:</label>
2307 @ <input type="text" style="width:15;" name="tagname" value="%h(zNewTag)"
2308 @ onkeyup="gebi('newtag').checked=!!this.value" />
2309 zBranchName = db_text(0, "SELECT value FROM tagxref, tag"
2310 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2311 " AND tagxref.tagid=%d", rid, TAG_BRANCH);
2312 db_prepare(&q,
2313 "SELECT tag.tagid, tagname, tagxref.value FROM tagxref, tag"
2314 " WHERE tagxref.rid=%d AND tagtype>0 AND tagxref.tagid=tag.tagid"
2315 " ORDER BY CASE WHEN tagname GLOB 'sym-*' THEN substr(tagname,5)"
2316 " ELSE tagname END /*sort*/",
@@ -2305,22 +2317,21 @@
2317 rid
2318 );
2319 while( db_step(&q)==SQLITE_ROW ){
2320 int tagid = db_column_int(&q, 0);
2321 const char *zTagName = db_column_text(&q, 1);
2322 int isSpecialTag = fossil_strncmp(zTagName, "sym-", 4)!=0;
2323 char zLabel[30];
2324
2325 if( tagid == TAG_CLOSED ){
2326 fHasClosed = 1;
2327 }else if( (tagid == TAG_COMMENT) || (tagid == TAG_BRANCH) ){
2328 continue;
2329 }else if( tagid==TAG_HIDDEN ){
2330 fHasHidden = 1;
2331 }else if( !isSpecialTag && zTagName &&
2332 fossil_strcmp(&zTagName[4], zBranchName)==0){
 
2333 continue;
2334 }
2335 sqlite3_snprintf(sizeof(zLabel), zLabel, "c%d", tagid);
2336 @ <br /><label>
2337 if( P(zLabel) ){
@@ -2348,11 +2359,20 @@
2359 @ <label><input id="newbr" type="checkbox" name="newbr"%s(zNewBrFlag)
2360 @ onchange="chgcbn(this.checked,'%h(zBranchName)')" />
2361 @ Make this check-in the start of a new branch named:</label>
2362 @ <input id="brname" type="text" style="width:15;" name="brname"
2363 @ value="%h(zNewBranch)"
2364 @ onkeyup="chgbn(this.value.trim(),'%h(zBranchName)')" /></td></tr>
2365 if( !fHasHidden ){
2366 @ <tr><th align="right" valign="top">Branch Hiding:</th>
2367 @ <td valign="top">
2368 @ <label><input type="checkbox" id="hidebr" name="hide"%s(zHideFlag) />
2369 @ Hide branch
2370 @ <span style="font-weight:bold" id="hbranch">%h(zBranchName)</span>
2371 @ from the timeline starting from this check-in</label>
2372 @ </td></tr>
2373 }
2374 if( !fHasClosed ){
2375 if( is_a_leaf(rid) ){
2376 @ <tr><th align="right" valign="top">Leaf Closure:</th>
2377 @ <td valign="top">
2378 @ <label><input type="checkbox" name="close"%s(zCloseFlag) />
@@ -2368,11 +2388,11 @@
2388 @ as "closed" so that its leafs no longer appear on the "leaves" page
2389 @ and are no longer labeled as a leaf "<b>Leaf</b>"</label>
2390 @ </td></tr>
2391 }
2392 }
2393 if( zBranchName ) fossil_free(zBranchName);
2394
2395
2396 @ <tr><td colspan="2">
2397 @ <input type="submit" name="preview" value="Preview" />
2398 @ <input type="submit" name="apply" value="Apply Changes" />
2399
--- src/login.c
+++ src/login.c
@@ -398,10 +398,11 @@
398398
if( strncmp(zAgent, "Mozilla/", 8)==0 ){
399399
if( atoi(&zAgent[8])<4 ) return 0; /* Many bots advertise as Mozilla/3 */
400400
if( strglob("*Firefox/[1-9]*", zAgent) ) return 1;
401401
if( strglob("*Chrome/[1-9]*", zAgent) ) return 1;
402402
if( strglob("*(compatible;?MSIE?[1789]*", zAgent) ) return 1;
403
+ if( strglob("*Trident/[1-9]*;?rv:[1-9]*", zAgent) ) return 1; /* IE11+ */
403404
if( strglob("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
404405
return 0;
405406
}
406407
if( strncmp(zAgent, "Opera/", 6)==0 ) return 1;
407408
if( strncmp(zAgent, "Safari/", 7)==0 ) return 1;
408409
--- src/login.c
+++ src/login.c
@@ -398,10 +398,11 @@
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("*AppleWebKit/[1-9]*(KHTML*", zAgent) ) return 1;
404 return 0;
405 }
406 if( strncmp(zAgent, "Opera/", 6)==0 ) return 1;
407 if( strncmp(zAgent, "Safari/", 7)==0 ) return 1;
408
--- src/login.c
+++ src/login.c
@@ -398,10 +398,11 @@
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
+15 -5
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114114
$(SRCDIR)/util.c \
115115
$(SRCDIR)/verify.c \
116116
$(SRCDIR)/vfile.c \
117117
$(SRCDIR)/wiki.c \
118118
$(SRCDIR)/wikiformat.c \
119
+ $(SRCDIR)/winfile.c \
119120
$(SRCDIR)/winhttp.c \
120121
$(SRCDIR)/wysiwyg.c \
121122
$(SRCDIR)/xfer.c \
122123
$(SRCDIR)/xfersetup.c \
123124
$(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
223224
$(OBJDIR)/util_.c \
224225
$(OBJDIR)/verify_.c \
225226
$(OBJDIR)/vfile_.c \
226227
$(OBJDIR)/wiki_.c \
227228
$(OBJDIR)/wikiformat_.c \
229
+ $(OBJDIR)/winfile_.c \
228230
$(OBJDIR)/winhttp_.c \
229231
$(OBJDIR)/wysiwyg_.c \
230232
$(OBJDIR)/xfer_.c \
231233
$(OBJDIR)/xfersetup_.c \
232234
$(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
332334
$(OBJDIR)/util.o \
333335
$(OBJDIR)/verify.o \
334336
$(OBJDIR)/vfile.o \
335337
$(OBJDIR)/wiki.o \
336338
$(OBJDIR)/wikiformat.o \
339
+ $(OBJDIR)/winfile.o \
337340
$(OBJDIR)/winhttp.o \
338341
$(OBJDIR)/wysiwyg.o \
339342
$(OBJDIR)/xfer.o \
340343
$(OBJDIR)/xfersetup.o \
341344
$(OBJDIR)/zip.o
@@ -373,17 +376,17 @@
373376
374377
$(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION $(OBJDIR)/mkversion
375378
$(OBJDIR)/mkversion $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
376379
377380
# Setup the options used to compile the included SQLite library.
378
-SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
381
+SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
382
+ -DSQLITE_OMIT_LOAD_EXTENSION=1 \
383
+ -DSQLITE_ENABLE_LOCKING_STYLE=0 \
379384
-DSQLITE_THREADSAFE=0 \
380385
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
381386
-DSQLITE_OMIT_DEPRECATED \
382
- -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
383
- -Dlocaltime=fossil_localtime \
384
- -DSQLITE_ENABLE_LOCKING_STYLE=0
387
+ -DSQLITE_ENABLE_EXPLAIN_COMMENTS
385388
386389
# Setup the options used to compile the included SQLite shell.
387390
SHELL_OPTIONS = -Dmain=sqlite3_shell \
388391
-DSQLITE_OMIT_LOAD_EXTENSION=1 \
389392
-Dsqlite3_strglob=strglob
@@ -419,11 +422,11 @@
419422
420423
421424
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
422425
$(OBJDIR)/mkindex $(TRANS_SRC) >$@
423426
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
424
- $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
427
+ $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
425428
touch $(OBJDIR)/headers
426429
$(OBJDIR)/headers: Makefile
427430
$(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 : $(SRCDIR)/json_detail.h
428431
Makefile:
429432
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
11381141
11391142
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
11401143
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
11411144
11421145
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1146
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1147
+ $(OBJDIR)/translate $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1148
+
1149
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1150
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1151
+
1152
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
11431153
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
11441154
$(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
11451155
11461156
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
11471157
$(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
11481158
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114 $(SRCDIR)/util.c \
115 $(SRCDIR)/verify.c \
116 $(SRCDIR)/vfile.c \
117 $(SRCDIR)/wiki.c \
118 $(SRCDIR)/wikiformat.c \
 
119 $(SRCDIR)/winhttp.c \
120 $(SRCDIR)/wysiwyg.c \
121 $(SRCDIR)/xfer.c \
122 $(SRCDIR)/xfersetup.c \
123 $(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
223 $(OBJDIR)/util_.c \
224 $(OBJDIR)/verify_.c \
225 $(OBJDIR)/vfile_.c \
226 $(OBJDIR)/wiki_.c \
227 $(OBJDIR)/wikiformat_.c \
 
228 $(OBJDIR)/winhttp_.c \
229 $(OBJDIR)/wysiwyg_.c \
230 $(OBJDIR)/xfer_.c \
231 $(OBJDIR)/xfersetup_.c \
232 $(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
332 $(OBJDIR)/util.o \
333 $(OBJDIR)/verify.o \
334 $(OBJDIR)/vfile.o \
335 $(OBJDIR)/wiki.o \
336 $(OBJDIR)/wikiformat.o \
 
337 $(OBJDIR)/winhttp.o \
338 $(OBJDIR)/wysiwyg.o \
339 $(OBJDIR)/xfer.o \
340 $(OBJDIR)/xfersetup.o \
341 $(OBJDIR)/zip.o
@@ -373,17 +376,17 @@
373
374 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION $(OBJDIR)/mkversion
375 $(OBJDIR)/mkversion $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
376
377 # Setup the options used to compile the included SQLite library.
378 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
 
379 -DSQLITE_THREADSAFE=0 \
380 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
381 -DSQLITE_OMIT_DEPRECATED \
382 -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
383 -Dlocaltime=fossil_localtime \
384 -DSQLITE_ENABLE_LOCKING_STYLE=0
385
386 # Setup the options used to compile the included SQLite shell.
387 SHELL_OPTIONS = -Dmain=sqlite3_shell \
388 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
389 -Dsqlite3_strglob=strglob
@@ -419,11 +422,11 @@
419
420
421 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
422 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
423 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
424 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
425 touch $(OBJDIR)/headers
426 $(OBJDIR)/headers: Makefile
427 $(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 : $(SRCDIR)/json_detail.h
428 Makefile:
429 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
1138
1139 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1140 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1141
1142 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
1143 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1144 $(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1145
1146 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1147 $(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
1148
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114 $(SRCDIR)/util.c \
115 $(SRCDIR)/verify.c \
116 $(SRCDIR)/vfile.c \
117 $(SRCDIR)/wiki.c \
118 $(SRCDIR)/wikiformat.c \
119 $(SRCDIR)/winfile.c \
120 $(SRCDIR)/winhttp.c \
121 $(SRCDIR)/wysiwyg.c \
122 $(SRCDIR)/xfer.c \
123 $(SRCDIR)/xfersetup.c \
124 $(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
224 $(OBJDIR)/util_.c \
225 $(OBJDIR)/verify_.c \
226 $(OBJDIR)/vfile_.c \
227 $(OBJDIR)/wiki_.c \
228 $(OBJDIR)/wikiformat_.c \
229 $(OBJDIR)/winfile_.c \
230 $(OBJDIR)/winhttp_.c \
231 $(OBJDIR)/wysiwyg_.c \
232 $(OBJDIR)/xfer_.c \
233 $(OBJDIR)/xfersetup_.c \
234 $(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
334 $(OBJDIR)/util.o \
335 $(OBJDIR)/verify.o \
336 $(OBJDIR)/vfile.o \
337 $(OBJDIR)/wiki.o \
338 $(OBJDIR)/wikiformat.o \
339 $(OBJDIR)/winfile.o \
340 $(OBJDIR)/winhttp.o \
341 $(OBJDIR)/wysiwyg.o \
342 $(OBJDIR)/xfer.o \
343 $(OBJDIR)/xfersetup.o \
344 $(OBJDIR)/zip.o
@@ -373,17 +376,17 @@
376
377 $(OBJDIR)/VERSION.h: $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION $(OBJDIR)/mkversion
378 $(OBJDIR)/mkversion $(SRCDIR)/../manifest.uuid $(SRCDIR)/../manifest $(SRCDIR)/../VERSION >$(OBJDIR)/VERSION.h
379
380 # Setup the options used to compile the included SQLite library.
381 SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
382 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
383 -DSQLITE_ENABLE_LOCKING_STYLE=0 \
384 -DSQLITE_THREADSAFE=0 \
385 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
386 -DSQLITE_OMIT_DEPRECATED \
387 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
 
 
388
389 # Setup the options used to compile the included SQLite shell.
390 SHELL_OPTIONS = -Dmain=sqlite3_shell \
391 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
392 -Dsqlite3_strglob=strglob
@@ -419,11 +422,11 @@
422
423
424 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
425 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
426 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
427 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
428 touch $(OBJDIR)/headers
429 $(OBJDIR)/headers: Makefile
430 $(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 : $(SRCDIR)/json_detail.h
431 Makefile:
432 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
1141
1142 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1143 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1144
1145 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1146 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1147 $(OBJDIR)/translate $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1148
1149 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1150 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1151
1152 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1153 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1154 $(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1155
1156 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1157 $(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
1158
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117117
util
118118
verify
119119
vfile
120120
wiki
121121
wikiformat
122
+ winfile
122123
winhttp
123124
wysiwyg
124125
xfer
125126
xfersetup
126127
zip
@@ -128,17 +129,17 @@
128129
}
129130
130131
# Options used to compile the included SQLite library.
131132
#
132133
set SQLITE_OPTIONS {
134
+ -Dlocaltime=fossil_localtime
133135
-DSQLITE_OMIT_LOAD_EXTENSION=1
136
+ -DSQLITE_ENABLE_LOCKING_STYLE=0
134137
-DSQLITE_THREADSAFE=0
135138
-DSQLITE_DEFAULT_FILE_FORMAT=4
136139
-DSQLITE_OMIT_DEPRECATED
137140
-DSQLITE_ENABLE_EXPLAIN_COMMENTS
138
- -Dlocaltime=fossil_localtime
139
- -DSQLITE_ENABLE_LOCKING_STYLE=0
140141
}
141142
#lappend SQLITE_OPTIONS -DSQLITE_ENABLE_FTS3=1
142143
#lappend SQLITE_OPTIONS -DSQLITE_ENABLE_STAT4
143144
#lappend SQLITE_OPTIONS -DSQLITE_WIN32_NO_ANSI
144145
#lappend SQLITE_OPTIONS -DSQLITE_WINNT_MAX_PATH_CHARS=4096
@@ -1006,10 +1007,11 @@
10061007
SRCDIR = $B\src
10071008
OBJDIR = .
10081009
OX = .
10091010
O = .obj
10101011
E = .exe
1012
+P = .pdb
10111013
10121014
# Uncomment to enable debug symbols
10131015
# DEBUG = 1
10141016
10151017
# Uncomment to enable JSON API
@@ -1034,11 +1036,11 @@
10341036
!ifdef FOSSIL_ENABLE_SSL
10351037
INCL = $(INCL) -I$(SSLINCDIR)
10361038
!endif
10371039
10381040
CFLAGS = -nologo -MT -O2
1039
-LDFLAGS = /NODEFAULTLIB:msvcrt
1041
+LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
10401042
10411043
!ifdef DEBUG
10421044
CFLAGS = $(CFLAGS) -Zi
10431045
LDFLAGS = $(LDFLAGS) /DEBUG
10441046
!endif
@@ -1091,10 +1093,11 @@
10911093
}
10921094
writeln " \\"
10931095
writeln -nonewline " \$(OX)\\fossil.res\n"
10941096
writeln {
10951097
APPNAME = $(OX)\fossil$(E)
1098
+PDBNAME = $(OX)\fossil$(P)
10961099
10971100
all: $(OX) $(APPNAME)
10981101
10991102
zlib:
11001103
@echo Building zlib from "$(ZLIBDIR)"...
@@ -1153,16 +1156,18 @@
11531156
-del $(OX)\*.obj
11541157
-del *.obj
11551158
-del *_.c
11561159
-del *.h
11571160
-del *.map
1161
+ -del *.res
11581162
-del headers
11591163
-del linkopts
1160
- -del *.res
1164
+ -del vc*.pdb
11611165
11621166
realclean: clean
11631167
-del $(APPNAME)
1168
+ -del $(PDBNAME)
11641169
-del translate$E
11651170
-del mkindex$E
11661171
-del makeheaders$E
11671172
-del mkversion$E
11681173
11691174
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117 util
118 verify
119 vfile
120 wiki
121 wikiformat
 
122 winhttp
123 wysiwyg
124 xfer
125 xfersetup
126 zip
@@ -128,17 +129,17 @@
128 }
129
130 # Options used to compile the included SQLite library.
131 #
132 set SQLITE_OPTIONS {
 
133 -DSQLITE_OMIT_LOAD_EXTENSION=1
 
134 -DSQLITE_THREADSAFE=0
135 -DSQLITE_DEFAULT_FILE_FORMAT=4
136 -DSQLITE_OMIT_DEPRECATED
137 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
138 -Dlocaltime=fossil_localtime
139 -DSQLITE_ENABLE_LOCKING_STYLE=0
140 }
141 #lappend SQLITE_OPTIONS -DSQLITE_ENABLE_FTS3=1
142 #lappend SQLITE_OPTIONS -DSQLITE_ENABLE_STAT4
143 #lappend SQLITE_OPTIONS -DSQLITE_WIN32_NO_ANSI
144 #lappend SQLITE_OPTIONS -DSQLITE_WINNT_MAX_PATH_CHARS=4096
@@ -1006,10 +1007,11 @@
1006 SRCDIR = $B\src
1007 OBJDIR = .
1008 OX = .
1009 O = .obj
1010 E = .exe
 
1011
1012 # Uncomment to enable debug symbols
1013 # DEBUG = 1
1014
1015 # Uncomment to enable JSON API
@@ -1034,11 +1036,11 @@
1034 !ifdef FOSSIL_ENABLE_SSL
1035 INCL = $(INCL) -I$(SSLINCDIR)
1036 !endif
1037
1038 CFLAGS = -nologo -MT -O2
1039 LDFLAGS = /NODEFAULTLIB:msvcrt
1040
1041 !ifdef DEBUG
1042 CFLAGS = $(CFLAGS) -Zi
1043 LDFLAGS = $(LDFLAGS) /DEBUG
1044 !endif
@@ -1091,10 +1093,11 @@
1091 }
1092 writeln " \\"
1093 writeln -nonewline " \$(OX)\\fossil.res\n"
1094 writeln {
1095 APPNAME = $(OX)\fossil$(E)
 
1096
1097 all: $(OX) $(APPNAME)
1098
1099 zlib:
1100 @echo Building zlib from "$(ZLIBDIR)"...
@@ -1153,16 +1156,18 @@
1153 -del $(OX)\*.obj
1154 -del *.obj
1155 -del *_.c
1156 -del *.h
1157 -del *.map
 
1158 -del headers
1159 -del linkopts
1160 -del *.res
1161
1162 realclean: clean
1163 -del $(APPNAME)
 
1164 -del translate$E
1165 -del mkindex$E
1166 -del makeheaders$E
1167 -del mkversion$E
1168
1169
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117 util
118 verify
119 vfile
120 wiki
121 wikiformat
122 winfile
123 winhttp
124 wysiwyg
125 xfer
126 xfersetup
127 zip
@@ -128,17 +129,17 @@
129 }
130
131 # Options used to compile the included SQLite library.
132 #
133 set SQLITE_OPTIONS {
134 -Dlocaltime=fossil_localtime
135 -DSQLITE_OMIT_LOAD_EXTENSION=1
136 -DSQLITE_ENABLE_LOCKING_STYLE=0
137 -DSQLITE_THREADSAFE=0
138 -DSQLITE_DEFAULT_FILE_FORMAT=4
139 -DSQLITE_OMIT_DEPRECATED
140 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
 
 
141 }
142 #lappend SQLITE_OPTIONS -DSQLITE_ENABLE_FTS3=1
143 #lappend SQLITE_OPTIONS -DSQLITE_ENABLE_STAT4
144 #lappend SQLITE_OPTIONS -DSQLITE_WIN32_NO_ANSI
145 #lappend SQLITE_OPTIONS -DSQLITE_WINNT_MAX_PATH_CHARS=4096
@@ -1006,10 +1007,11 @@
1007 SRCDIR = $B\src
1008 OBJDIR = .
1009 OX = .
1010 O = .obj
1011 E = .exe
1012 P = .pdb
1013
1014 # Uncomment to enable debug symbols
1015 # DEBUG = 1
1016
1017 # Uncomment to enable JSON API
@@ -1034,11 +1036,11 @@
1036 !ifdef FOSSIL_ENABLE_SSL
1037 INCL = $(INCL) -I$(SSLINCDIR)
1038 !endif
1039
1040 CFLAGS = -nologo -MT -O2
1041 LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
1042
1043 !ifdef DEBUG
1044 CFLAGS = $(CFLAGS) -Zi
1045 LDFLAGS = $(LDFLAGS) /DEBUG
1046 !endif
@@ -1091,10 +1093,11 @@
1093 }
1094 writeln " \\"
1095 writeln -nonewline " \$(OX)\\fossil.res\n"
1096 writeln {
1097 APPNAME = $(OX)\fossil$(E)
1098 PDBNAME = $(OX)\fossil$(P)
1099
1100 all: $(OX) $(APPNAME)
1101
1102 zlib:
1103 @echo Building zlib from "$(ZLIBDIR)"...
@@ -1153,16 +1156,18 @@
1156 -del $(OX)\*.obj
1157 -del *.obj
1158 -del *_.c
1159 -del *.h
1160 -del *.map
1161 -del *.res
1162 -del headers
1163 -del linkopts
1164 -del vc*.pdb
1165
1166 realclean: clean
1167 -del $(APPNAME)
1168 -del $(PDBNAME)
1169 -del translate$E
1170 -del mkindex$E
1171 -del makeheaders$E
1172 -del mkversion$E
1173
1174
+1 -1
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812812
if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813813
login_verify_csrf_secret();
814814
db_set(zVar, zQ, 0);
815815
zVal = zQ;
816816
}
817
- @ <input type="text" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
817
+ @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818818
if( disabled ){
819819
@ disabled="disabled"
820820
}
821821
@ /> <b>%s(zLabel)</b>
822822
}
823823
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813 login_verify_csrf_secret();
814 db_set(zVar, zQ, 0);
815 zVal = zQ;
816 }
817 @ <input type="text" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818 if( disabled ){
819 @ disabled="disabled"
820 }
821 @ /> <b>%s(zLabel)</b>
822 }
823
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813 login_verify_csrf_secret();
814 db_set(zVar, zQ, 0);
815 zVal = zQ;
816 }
817 @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818 if( disabled ){
819 @ disabled="disabled"
820 }
821 @ /> <b>%s(zLabel)</b>
822 }
823
+1 -1
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812812
if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813813
login_verify_csrf_secret();
814814
db_set(zVar, zQ, 0);
815815
zVal = zQ;
816816
}
817
- @ <input type="text" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
817
+ @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818818
if( disabled ){
819819
@ disabled="disabled"
820820
}
821821
@ /> <b>%s(zLabel)</b>
822822
}
823823
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813 login_verify_csrf_secret();
814 db_set(zVar, zQ, 0);
815 zVal = zQ;
816 }
817 @ <input type="text" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818 if( disabled ){
819 @ disabled="disabled"
820 }
821 @ /> <b>%s(zLabel)</b>
822 }
823
--- src/setup.c
+++ src/setup.c
@@ -812,11 +812,11 @@
812 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
813 login_verify_csrf_secret();
814 db_set(zVar, zQ, 0);
815 zVal = zQ;
816 }
817 @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)"
818 if( disabled ){
819 @ disabled="disabled"
820 }
821 @ /> <b>%s(zLabel)</b>
822 }
823
+1 -1
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
12411241
@ This page was generated in about
12421242
@ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
12431243
@ <a href="$fossilUrl/">Fossil</a>
12441244
@ version $release_version $tclVersion
12451245
@ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246
-@ <a href="$fossilUrl/fossil/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1246
+@ <a href="$fossilUrl/index.html/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
12471247
@ </div>
12481248
@ </body></html>
12491249
@ ');
12501250
;
12511251
12521252
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
1241 @ This page was generated in about
1242 @ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
1243 @ <a href="$fossilUrl/">Fossil</a>
1244 @ version $release_version $tclVersion
1245 @ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246 @ <a href="$fossilUrl/fossil/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1247 @ </div>
1248 @ </body></html>
1249 @ ');
1250 ;
1251
1252
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
1241 @ This page was generated in about
1242 @ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
1243 @ <a href="$fossilUrl/">Fossil</a>
1244 @ version $release_version $tclVersion
1245 @ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246 @ <a href="$fossilUrl/index.html/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1247 @ </div>
1248 @ </body></html>
1249 @ ');
1250 ;
1251
1252
--- src/timeline.c
+++ src/timeline.c
@@ -1121,10 +1121,11 @@
11211121
tmFlags |= TIMELINE_BRCOLOR;
11221122
url_add_parameter(&url, "brbg", 0);
11231123
}
11241124
if( P("unhide")!=0 ){
11251125
tmFlags |= TIMELINE_UNHIDE;
1126
+ url_add_parameter(&url, "unhide", 0);
11261127
}
11271128
if( P("ubg")!=0 ){
11281129
tmFlags |= TIMELINE_UCOLOR;
11291130
url_add_parameter(&url, "ubg", 0);
11301131
}
@@ -1497,10 +1498,13 @@
14971498
if( tmFlags & TIMELINE_FCHANGES ){
14981499
timeline_submenu(&url, "Hide Files", "v", 0, 0);
14991500
}else{
15001501
timeline_submenu(&url, "Show Files", "v", "", 0);
15011502
}
1503
+ if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1504
+ timeline_submenu(&url, "Unhide", "unhide", "", 0);
1505
+ }
15021506
}
15031507
}
15041508
}
15051509
if( P("showsql") ){
15061510
@ <blockquote>%h(blob_str(&sql))</blockquote>
15071511
--- src/timeline.c
+++ src/timeline.c
@@ -1121,10 +1121,11 @@
1121 tmFlags |= TIMELINE_BRCOLOR;
1122 url_add_parameter(&url, "brbg", 0);
1123 }
1124 if( P("unhide")!=0 ){
1125 tmFlags |= TIMELINE_UNHIDE;
 
1126 }
1127 if( P("ubg")!=0 ){
1128 tmFlags |= TIMELINE_UCOLOR;
1129 url_add_parameter(&url, "ubg", 0);
1130 }
@@ -1497,10 +1498,13 @@
1497 if( tmFlags & TIMELINE_FCHANGES ){
1498 timeline_submenu(&url, "Hide Files", "v", 0, 0);
1499 }else{
1500 timeline_submenu(&url, "Show Files", "v", "", 0);
1501 }
 
 
 
1502 }
1503 }
1504 }
1505 if( P("showsql") ){
1506 @ <blockquote>%h(blob_str(&sql))</blockquote>
1507
--- src/timeline.c
+++ src/timeline.c
@@ -1121,10 +1121,11 @@
1121 tmFlags |= TIMELINE_BRCOLOR;
1122 url_add_parameter(&url, "brbg", 0);
1123 }
1124 if( P("unhide")!=0 ){
1125 tmFlags |= TIMELINE_UNHIDE;
1126 url_add_parameter(&url, "unhide", 0);
1127 }
1128 if( P("ubg")!=0 ){
1129 tmFlags |= TIMELINE_UCOLOR;
1130 url_add_parameter(&url, "ubg", 0);
1131 }
@@ -1497,10 +1498,13 @@
1498 if( tmFlags & TIMELINE_FCHANGES ){
1499 timeline_submenu(&url, "Hide Files", "v", 0, 0);
1500 }else{
1501 timeline_submenu(&url, "Show Files", "v", "", 0);
1502 }
1503 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1504 timeline_submenu(&url, "Unhide", "unhide", "", 0);
1505 }
1506 }
1507 }
1508 }
1509 if( P("showsql") ){
1510 @ <blockquote>%h(blob_str(&sql))</blockquote>
1511
+3 -3
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
2727
** Return true if the input string is a well-formed wiki page name.
2828
**
2929
** Well-formed wiki page names do not begin or end with whitespace,
3030
** and do not contain tabs or other control characters and do not
3131
** contain more than a single space character in a row. Well-formed
32
-** names must be between 3 and 100 characters in length, inclusive.
32
+** names must be between 1 and 100 characters in length, inclusive.
3333
*/
3434
int wiki_name_is_wellformed(const unsigned char *z){
3535
int i;
3636
if( z[0]<=0x20 ){
3737
return 0;
@@ -39,11 +39,11 @@
3939
for(i=1; z[i]; i++){
4040
if( z[i]<0x20 ) return 0;
4141
if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
4242
}
4343
if( z[i-1]==' ' ) return 0;
44
- if( i<3 || i>100 ) return 0;
44
+ if( i<1 || i>100 ) return 0;
4545
return 1;
4646
}
4747
4848
/*
4949
** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
5252
@ <ul>
5353
@ <li> Must not begin or end with a space.</li>
5454
@ <li> Must not contain any control characters, including tab or
5555
@ newline.</li>
5656
@ <li> Must not have two or more spaces in a row internally.</li>
57
- @ <li> Must be between 3 and 100 characters in length.</li>
57
+ @ <li> Must be between 1 and 100 characters in length.</li>
5858
@ </ul>
5959
}
6060
6161
/*
6262
** Check a wiki name. If it is not well-formed, then issue an error
6363
6464
ADDED src/winfile.c
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
27 ** Return true if the input string is a well-formed wiki page name.
28 **
29 ** Well-formed wiki page names do not begin or end with whitespace,
30 ** and do not contain tabs or other control characters and do not
31 ** contain more than a single space character in a row. Well-formed
32 ** names must be between 3 and 100 characters in length, inclusive.
33 */
34 int wiki_name_is_wellformed(const unsigned char *z){
35 int i;
36 if( z[0]<=0x20 ){
37 return 0;
@@ -39,11 +39,11 @@
39 for(i=1; z[i]; i++){
40 if( z[i]<0x20 ) return 0;
41 if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
42 }
43 if( z[i-1]==' ' ) return 0;
44 if( i<3 || i>100 ) return 0;
45 return 1;
46 }
47
48 /*
49 ** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
52 @ <ul>
53 @ <li> Must not begin or end with a space.</li>
54 @ <li> Must not contain any control characters, including tab or
55 @ newline.</li>
56 @ <li> Must not have two or more spaces in a row internally.</li>
57 @ <li> Must be between 3 and 100 characters in length.</li>
58 @ </ul>
59 }
60
61 /*
62 ** Check a wiki name. If it is not well-formed, then issue an error
63
64 DDED src/winfile.c
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
27 ** Return true if the input string is a well-formed wiki page name.
28 **
29 ** Well-formed wiki page names do not begin or end with whitespace,
30 ** and do not contain tabs or other control characters and do not
31 ** contain more than a single space character in a row. Well-formed
32 ** names must be between 1 and 100 characters in length, inclusive.
33 */
34 int wiki_name_is_wellformed(const unsigned char *z){
35 int i;
36 if( z[0]<=0x20 ){
37 return 0;
@@ -39,11 +39,11 @@
39 for(i=1; z[i]; i++){
40 if( z[i]<0x20 ) return 0;
41 if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
42 }
43 if( z[i-1]==' ' ) return 0;
44 if( i<1 || i>100 ) return 0;
45 return 1;
46 }
47
48 /*
49 ** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
52 @ <ul>
53 @ <li> Must not begin or end with a space.</li>
54 @ <li> Must not contain any control characters, including tab or
55 @ newline.</li>
56 @ <li> Must not have two or more spaces in a row internally.</li>
57 @ <li> Must be between 1 and 100 characters in length.</li>
58 @ </ul>
59 }
60
61 /*
62 ** Check a wiki name. If it is not well-formed, then issue an error
63
64 DDED src/winfile.c
+3 -3
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
2727
** Return true if the input string is a well-formed wiki page name.
2828
**
2929
** Well-formed wiki page names do not begin or end with whitespace,
3030
** and do not contain tabs or other control characters and do not
3131
** contain more than a single space character in a row. Well-formed
32
-** names must be between 3 and 100 characters in length, inclusive.
32
+** names must be between 1 and 100 characters in length, inclusive.
3333
*/
3434
int wiki_name_is_wellformed(const unsigned char *z){
3535
int i;
3636
if( z[0]<=0x20 ){
3737
return 0;
@@ -39,11 +39,11 @@
3939
for(i=1; z[i]; i++){
4040
if( z[i]<0x20 ) return 0;
4141
if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
4242
}
4343
if( z[i-1]==' ' ) return 0;
44
- if( i<3 || i>100 ) return 0;
44
+ if( i<1 || i>100 ) return 0;
4545
return 1;
4646
}
4747
4848
/*
4949
** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
5252
@ <ul>
5353
@ <li> Must not begin or end with a space.</li>
5454
@ <li> Must not contain any control characters, including tab or
5555
@ newline.</li>
5656
@ <li> Must not have two or more spaces in a row internally.</li>
57
- @ <li> Must be between 3 and 100 characters in length.</li>
57
+ @ <li> Must be between 1 and 100 characters in length.</li>
5858
@ </ul>
5959
}
6060
6161
/*
6262
** Check a wiki name. If it is not well-formed, then issue an error
6363
6464
ADDED src/winfile.c
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
27 ** Return true if the input string is a well-formed wiki page name.
28 **
29 ** Well-formed wiki page names do not begin or end with whitespace,
30 ** and do not contain tabs or other control characters and do not
31 ** contain more than a single space character in a row. Well-formed
32 ** names must be between 3 and 100 characters in length, inclusive.
33 */
34 int wiki_name_is_wellformed(const unsigned char *z){
35 int i;
36 if( z[0]<=0x20 ){
37 return 0;
@@ -39,11 +39,11 @@
39 for(i=1; z[i]; i++){
40 if( z[i]<0x20 ) return 0;
41 if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
42 }
43 if( z[i-1]==' ' ) return 0;
44 if( i<3 || i>100 ) return 0;
45 return 1;
46 }
47
48 /*
49 ** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
52 @ <ul>
53 @ <li> Must not begin or end with a space.</li>
54 @ <li> Must not contain any control characters, including tab or
55 @ newline.</li>
56 @ <li> Must not have two or more spaces in a row internally.</li>
57 @ <li> Must be between 3 and 100 characters in length.</li>
58 @ </ul>
59 }
60
61 /*
62 ** Check a wiki name. If it is not well-formed, then issue an error
63
64 DDED src/winfile.c
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
27 ** Return true if the input string is a well-formed wiki page name.
28 **
29 ** Well-formed wiki page names do not begin or end with whitespace,
30 ** and do not contain tabs or other control characters and do not
31 ** contain more than a single space character in a row. Well-formed
32 ** names must be between 1 and 100 characters in length, inclusive.
33 */
34 int wiki_name_is_wellformed(const unsigned char *z){
35 int i;
36 if( z[0]<=0x20 ){
37 return 0;
@@ -39,11 +39,11 @@
39 for(i=1; z[i]; i++){
40 if( z[i]<0x20 ) return 0;
41 if( z[i]==0x20 && z[i-1]==0x20 ) return 0;
42 }
43 if( z[i-1]==' ' ) return 0;
44 if( i<1 || i>100 ) return 0;
45 return 1;
46 }
47
48 /*
49 ** Output rules for well-formed wiki pages
@@ -52,11 +52,11 @@
52 @ <ul>
53 @ <li> Must not begin or end with a space.</li>
54 @ <li> Must not contain any control characters, including tab or
55 @ newline.</li>
56 @ <li> Must not have two or more spaces in a row internally.</li>
57 @ <li> Must be between 1 and 100 characters in length.</li>
58 @ </ul>
59 }
60
61 /*
62 ** Check a wiki name. If it is not well-formed, then issue an error
63
64 DDED src/winfile.c
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
1
+/*1;cchRes = 0cchRes memcpy(zRes+cchRes/*/*y_if( !try_y_a !defined(S_IFLNK)
2
+# define S_IFLNK 0120000
3
+#endif
4
+#if !defined(SYMBOLIC_LINK_FLAG_DIRECTORY)
5
+# define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
6
+#endif#ifndef FSCTL_GET_REPARSE_POINT
7
+# define FSCTL_GET_REPARSE_POINT (((0x00000009) << 16) | ((0x00000000) << 14) | ((42) << 2) | (0))
8
+#endif
9
+
10
+static HANDLE dllhandle = NULL;
11
+static DWORD (WINAPI *getFinalPathNameByHandleW) (HANDLE, LPWSTR, DWORD, DWORD) = NULL;
12
+static BOOLEAN (APIENTRY *createSymbolicLinkW) (LPCWSTR, LPCWSTR, DWORD) = NULL;
13
+
14
+/* a couple defines to make the borrowed struct below compile */
15
+#ifndef _ANONYMOUS_UNION
16
+# define _ANONYMOUS_UNION
17
+#endif
18
+#define DUMMYUNIONNAME
19
+
20
+/*
21
+** this structure copied on 20 Sept 2014 from
22
+** https://reactos-mirror.googlecode.com/svn-history/r54752/bNION union {
23
+ stru u uct#ifndef FSCTLmirror.googlecode.com/svn-history/r54752/b<versionhelperstory/r54752/branches/usb-brin _ANONYUS_UNION union {
24
+ stru u uct#ifndef FSCTL_GET_REPARSE_POIN defined(__MSVCRT__)*getE
25
+
26
+/*
27
+** this, int isWd charPrintNameLevn-history/r54752/branches/usb-bringup/include/ddk/ntifs.h
28
+** which is a wchar_t *zMbcs = fossil_lude/ddk/ntifs.h
29
+** which is a publMbcsINK
30
+ } GenericReparseBuffer;
31
+ }Mbcs
32
+ } GenericReparseBuffer;
33
+ }S_IFDIR : S_IFREG;ne LINK_BUFFER_SIZE 1024
34
+
35
+s-mirror.googlecode.com/svn-history/r54752/branchesMMYUNIONNAME
36
+
37
+/*
38
+** this structure copied on 20 Sept 2014 from
39
+** https://reactos-mirrorRIVILEGE_SET privSetsizeof(PRIVILEGE_SET)size = 0;&pvoid No convercharwchar_t *zMbcs = fossilMbcsMbcsMbcs,
40
+ Mbcs);
41
+ return * If bChroot=1, do a chroot to thischarwchar_t *zPath = fossi
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
1 /*1;cchRes = 0cchRes memcpy(zRes+cchRes/*/*y_if( !try_y_a !defined(S_IFLNK)
2 # define S_IFLNK 0120000
3 #endif
4 #if !defined(SYMBOLIC_LINK_FLAG_DIRECTORY)
5 # define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
6 #endif#ifndef FSCTL_GET_REPARSE_POINT
7 # define FSCTL_GET_REPARSE_POINT (((0x00000009) << 16) | ((0x00000000) << 14) | ((42) << 2) | (0))
8 #endif
9
10 static HANDLE dllhandle = NULL;
11 static DWORD (WINAPI *getFinalPathNameByHandleW) (HANDLE, LPWSTR, DWORD, DWORD) = NULL;
12 static BOOLEAN (APIENTRY *createSymbolicLinkW) (LPCWSTR, LPCWSTR, DWORD) = NULL;
13
14 /* a couple defines to make the borrowed struct below compile */
15 #ifndef _ANONYMOUS_UNION
16 # define _ANONYMOUS_UNION
17 #endif
18 #define DUMMYUNIONNAME
19
20 /*
21 ** this structure copied on 20 Sept 2014 from
22 ** https://reactos-mirror.googlecode.com/svn-history/r54752/bNION union {
23 stru u uct#ifndef FSCTLmirror.googlecode.com/svn-history/r54752/b<versionhelperstory/r54752/branches/usb-brin _ANONYUS_UNION union {
24 stru u uct#ifndef FSCTL_GET_REPARSE_POIN defined(__MSVCRT__)*getE
25
26 /*
27 ** this, int isWd charPrintNameLevn-history/r54752/branches/usb-bringup/include/ddk/ntifs.h
28 ** which is a wchar_t *zMbcs = fossil_lude/ddk/ntifs.h
29 ** which is a publMbcsINK
30 } GenericReparseBuffer;
31 }Mbcs
32 } GenericReparseBuffer;
33 }S_IFDIR : S_IFREG;ne LINK_BUFFER_SIZE 1024
34
35 s-mirror.googlecode.com/svn-history/r54752/branchesMMYUNIONNAME
36
37 /*
38 ** this structure copied on 20 Sept 2014 from
39 ** https://reactos-mirrorRIVILEGE_SET privSetsizeof(PRIVILEGE_SET)size = 0;&pvoid No convercharwchar_t *zMbcs = fossilMbcsMbcsMbcs,
40 Mbcs);
41 return * If bChroot=1, do a chroot to thischarwchar_t *zPath = fossi
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
6767
client_sync(syncFlags, 0, 0);
6868
}
6969
@ <p>Press the %h(zButton) button below to synchronize with the
7070
@ "%h(g.urlCanonical)" repository now. This may be useful when
7171
@ testing the various transfer scripts.</p>
72
+ @ <p>You can use the "http -async" command in your scripts, but
73
+ @ make sure the "th1-uri-regexp" setting is set first.</p>
7274
if( zWarning ){
7375
@
7476
@ <big><b>%h(zWarning)</b></big>
7577
free(zWarning);
7678
}
7779
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
67 client_sync(syncFlags, 0, 0);
68 }
69 @ <p>Press the %h(zButton) button below to synchronize with the
70 @ "%h(g.urlCanonical)" repository now. This may be useful when
71 @ testing the various transfer scripts.</p>
 
 
72 if( zWarning ){
73 @
74 @ <big><b>%h(zWarning)</b></big>
75 free(zWarning);
76 }
77
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
67 client_sync(syncFlags, 0, 0);
68 }
69 @ <p>Press the %h(zButton) button below to synchronize with the
70 @ "%h(g.urlCanonical)" repository now. This may be useful when
71 @ testing the various transfer scripts.</p>
72 @ <p>You can use the "http -async" command in your scripts, but
73 @ make sure the "th1-uri-regexp" setting is set first.</p>
74 if( zWarning ){
75 @
76 @ <big><b>%h(zWarning)</b></big>
77 free(zWarning);
78 }
79
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
6767
client_sync(syncFlags, 0, 0);
6868
}
6969
@ <p>Press the %h(zButton) button below to synchronize with the
7070
@ "%h(g.urlCanonical)" repository now. This may be useful when
7171
@ testing the various transfer scripts.</p>
72
+ @ <p>You can use the "http -async" command in your scripts, but
73
+ @ make sure the "th1-uri-regexp" setting is set first.</p>
7274
if( zWarning ){
7375
@
7476
@ <big><b>%h(zWarning)</b></big>
7577
free(zWarning);
7678
}
7779
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
67 client_sync(syncFlags, 0, 0);
68 }
69 @ <p>Press the %h(zButton) button below to synchronize with the
70 @ "%h(g.urlCanonical)" repository now. This may be useful when
71 @ testing the various transfer scripts.</p>
 
 
72 if( zWarning ){
73 @
74 @ <big><b>%h(zWarning)</b></big>
75 free(zWarning);
76 }
77
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -67,10 +67,12 @@
67 client_sync(syncFlags, 0, 0);
68 }
69 @ <p>Press the %h(zButton) button below to synchronize with the
70 @ "%h(g.urlCanonical)" repository now. This may be useful when
71 @ testing the various transfer scripts.</p>
72 @ <p>You can use the "http -async" command in your scripts, but
73 @ make sure the "th1-uri-regexp" setting is set first.</p>
74 if( zWarning ){
75 @
76 @ <big><b>%h(zWarning)</b></big>
77 free(zWarning);
78 }
79
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -83,11 +83,11 @@
8383
8484
# define the sqlite files, which need special flags on compile
8585
SQLITESRC=sqlite3.c
8686
ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf))
8787
SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj))
88
-SQLITEDEFINES=-DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
88
+SQLITEDEFINES=-Dlocaltime=fossil_localtime -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
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))
9494
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -83,11 +83,11 @@
83
84 # define the sqlite files, which need special flags on compile
85 SQLITESRC=sqlite3.c
86 ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf))
87 SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj))
88 SQLITEDEFINES=-DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
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
--- win/Makefile.PellesCGMake
+++ win/Makefile.PellesCGMake
@@ -83,11 +83,11 @@
83
84 # define the sqlite files, which need special flags on compile
85 SQLITESRC=sqlite3.c
86 ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf))
87 SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj))
88 SQLITEDEFINES=-Dlocaltime=fossil_localtime -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
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
+11 -5
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -24,17 +24,17 @@
2424
CFLAGS = -o
2525
BCC = $(DMDIR)\bin\dmc $(CFLAGS)
2626
TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL)
2727
LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32
2828
29
-SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
29
+SQLITE_OPTIONS = -Dlocaltime=fossil_localtime -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
3131
SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3232
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 winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
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
3434
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)\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
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
3636
3737
3838
RC=$(DMDIR)\bin\rcc
3939
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4040
@@ -48,11 +48,11 @@
4848
4949
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5050
$(RC) $(RCFLAGS) -o$@ $**
5151
5252
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53
- +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
53
+ +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5454
+echo fossil >> $@
5555
+echo fossil >> $@
5656
+echo $(LIBS) >> $@
5757
+echo. >> $@
5858
+echo fossil >> $@
@@ -724,10 +724,16 @@
724724
$(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725725
$(TCC) -o$@ -c wikiformat_.c
726726
727727
wikiformat_.c : $(SRCDIR)\wikiformat.c
728728
+translate$E $** > $@
729
+
730
+$(OBJDIR)\winfile$O : winfile_.c winfile.h
731
+ $(TCC) -o$@ -c winfile_.c
732
+
733
+winfile_.c : $(SRCDIR)\winfile.c
734
+ +translate$E $** > $@
729735
730736
$(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
731737
$(TCC) -o$@ -c winhttp_.c
732738
733739
winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
756762
757763
zip_.c : $(SRCDIR)\zip.c
758764
+translate$E $** > $@
759765
760766
headers: makeheaders$E page_index.h VERSION.h
761
- +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
767
+ +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
762768
@copy /Y nul: headers
763769
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -24,17 +24,17 @@
24 CFLAGS = -o
25 BCC = $(DMDIR)\bin\dmc $(CFLAGS)
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_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
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 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)\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
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -48,11 +48,11 @@
48
49 $(OBJDIR)\fossil.res: $B\win\fossil.rc
50 $(RC) $(RCFLAGS) -o$@ $**
51
52 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53 +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54 +echo fossil >> $@
55 +echo fossil >> $@
56 +echo $(LIBS) >> $@
57 +echo. >> $@
58 +echo fossil >> $@
@@ -724,10 +724,16 @@
724 $(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725 $(TCC) -o$@ -c wikiformat_.c
726
727 wikiformat_.c : $(SRCDIR)\wikiformat.c
728 +translate$E $** > $@
 
 
 
 
 
 
729
730 $(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
731 $(TCC) -o$@ -c winhttp_.c
732
733 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
756
757 zip_.c : $(SRCDIR)\zip.c
758 +translate$E $** > $@
759
760 headers: makeheaders$E page_index.h VERSION.h
761 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
762 @copy /Y nul: headers
763
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -24,17 +24,17 @@
24 CFLAGS = -o
25 BCC = $(DMDIR)\bin\dmc $(CFLAGS)
26 TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL)
27 LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32
28
29 SQLITE_OPTIONS = -Dlocaltime=fossil_localtime -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
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -48,11 +48,11 @@
48
49 $(OBJDIR)\fossil.res: $B\win\fossil.rc
50 $(RC) $(RCFLAGS) -o$@ $**
51
52 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53 +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54 +echo fossil >> $@
55 +echo fossil >> $@
56 +echo $(LIBS) >> $@
57 +echo. >> $@
58 +echo fossil >> $@
@@ -724,10 +724,16 @@
724 $(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725 $(TCC) -o$@ -c wikiformat_.c
726
727 wikiformat_.c : $(SRCDIR)\wikiformat.c
728 +translate$E $** > $@
729
730 $(OBJDIR)\winfile$O : winfile_.c winfile.h
731 $(TCC) -o$@ -c winfile_.c
732
733 winfile_.c : $(SRCDIR)\winfile.c
734 +translate$E $** > $@
735
736 $(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
737 $(TCC) -o$@ -c winhttp_.c
738
739 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
762
763 zip_.c : $(SRCDIR)\zip.c
764 +translate$E $** > $@
765
766 headers: makeheaders$E page_index.h VERSION.h
767 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
768 @copy /Y nul: headers
769
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357357
$(SRCDIR)/util.c \
358358
$(SRCDIR)/verify.c \
359359
$(SRCDIR)/vfile.c \
360360
$(SRCDIR)/wiki.c \
361361
$(SRCDIR)/wikiformat.c \
362
+ $(SRCDIR)/winfile.c \
362363
$(SRCDIR)/winhttp.c \
363364
$(SRCDIR)/wysiwyg.c \
364365
$(SRCDIR)/xfer.c \
365366
$(SRCDIR)/xfersetup.c \
366367
$(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466467
$(OBJDIR)/util_.c \
467468
$(OBJDIR)/verify_.c \
468469
$(OBJDIR)/vfile_.c \
469470
$(OBJDIR)/wiki_.c \
470471
$(OBJDIR)/wikiformat_.c \
472
+ $(OBJDIR)/winfile_.c \
471473
$(OBJDIR)/winhttp_.c \
472474
$(OBJDIR)/wysiwyg_.c \
473475
$(OBJDIR)/xfer_.c \
474476
$(OBJDIR)/xfersetup_.c \
475477
$(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575577
$(OBJDIR)/util.o \
576578
$(OBJDIR)/verify.o \
577579
$(OBJDIR)/vfile.o \
578580
$(OBJDIR)/wiki.o \
579581
$(OBJDIR)/wikiformat.o \
582
+ $(OBJDIR)/winfile.o \
580583
$(OBJDIR)/winhttp.o \
581584
$(OBJDIR)/wysiwyg.o \
582585
$(OBJDIR)/xfer.o \
583586
$(OBJDIR)/xfersetup.o \
584587
$(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816819
$(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817820
$(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818821
$(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819822
$(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820823
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824
+ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
821825
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822826
$(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823827
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824828
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825829
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
16451649
16461650
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
16471651
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
16481652
16491653
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
+
1655
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656
+ $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
+
1658
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
+
1661
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
16501662
16511663
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
16521664
$(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
16531665
16541666
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
16861698
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
16871699
$(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
16881700
16891701
$(OBJDIR)/zip.h: $(OBJDIR)/headers
16901702
1691
-SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1703
+SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
1704
+ -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1705
+ -DSQLITE_ENABLE_LOCKING_STYLE=0 \
16921706
-DSQLITE_THREADSAFE=0 \
16931707
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
16941708
-DSQLITE_OMIT_DEPRECATED \
16951709
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
1696
- -Dlocaltime=fossil_localtime \
1697
- -DSQLITE_ENABLE_LOCKING_STYLE=0 \
16981710
-D_HAVE_SQLITE_CONFIG_H \
16991711
-DSQLITE_USE_MALLOC_H \
17001712
-DSQLITE_USE_MSIZE
17011713
17021714
SHELL_OPTIONS = -Dmain=sqlite3_shell \
17031715
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
 
362 $(SRCDIR)/winhttp.c \
363 $(SRCDIR)/wysiwyg.c \
364 $(SRCDIR)/xfer.c \
365 $(SRCDIR)/xfersetup.c \
366 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466 $(OBJDIR)/util_.c \
467 $(OBJDIR)/verify_.c \
468 $(OBJDIR)/vfile_.c \
469 $(OBJDIR)/wiki_.c \
470 $(OBJDIR)/wikiformat_.c \
 
471 $(OBJDIR)/winhttp_.c \
472 $(OBJDIR)/wysiwyg_.c \
473 $(OBJDIR)/xfer_.c \
474 $(OBJDIR)/xfersetup_.c \
475 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575 $(OBJDIR)/util.o \
576 $(OBJDIR)/verify.o \
577 $(OBJDIR)/vfile.o \
578 $(OBJDIR)/wiki.o \
579 $(OBJDIR)/wikiformat.o \
 
580 $(OBJDIR)/winhttp.o \
581 $(OBJDIR)/wysiwyg.o \
582 $(OBJDIR)/xfer.o \
583 $(OBJDIR)/xfersetup.o \
584 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
 
821 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1645
1646 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1647 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1648
1649 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1650
1651 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1652 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1653
1654 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
1686 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
1687 $(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
1688
1689 $(OBJDIR)/zip.h: $(OBJDIR)/headers
1690
1691 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
 
1692 -DSQLITE_THREADSAFE=0 \
1693 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
1694 -DSQLITE_OMIT_DEPRECATED \
1695 -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
1696 -Dlocaltime=fossil_localtime \
1697 -DSQLITE_ENABLE_LOCKING_STYLE=0 \
1698 -D_HAVE_SQLITE_CONFIG_H \
1699 -DSQLITE_USE_MALLOC_H \
1700 -DSQLITE_USE_MSIZE
1701
1702 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1703
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
362 $(SRCDIR)/winfile.c \
363 $(SRCDIR)/winhttp.c \
364 $(SRCDIR)/wysiwyg.c \
365 $(SRCDIR)/xfer.c \
366 $(SRCDIR)/xfersetup.c \
367 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
467 $(OBJDIR)/util_.c \
468 $(OBJDIR)/verify_.c \
469 $(OBJDIR)/vfile_.c \
470 $(OBJDIR)/wiki_.c \
471 $(OBJDIR)/wikiformat_.c \
472 $(OBJDIR)/winfile_.c \
473 $(OBJDIR)/winhttp_.c \
474 $(OBJDIR)/wysiwyg_.c \
475 $(OBJDIR)/xfer_.c \
476 $(OBJDIR)/xfersetup_.c \
477 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
577 $(OBJDIR)/util.o \
578 $(OBJDIR)/verify.o \
579 $(OBJDIR)/vfile.o \
580 $(OBJDIR)/wiki.o \
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/wysiwyg.o \
585 $(OBJDIR)/xfer.o \
586 $(OBJDIR)/xfersetup.o \
587 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
819 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
820 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
821 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
822 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
823 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
825 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
826 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
827 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
828 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
829 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1649
1650 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1651 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1652
1653 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
1655 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656 $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
1658 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
1661 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1662
1663 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1664 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1665
1666 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
1698 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
1699 $(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
1700
1701 $(OBJDIR)/zip.h: $(OBJDIR)/headers
1702
1703 SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
1704 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1705 -DSQLITE_ENABLE_LOCKING_STYLE=0 \
1706 -DSQLITE_THREADSAFE=0 \
1707 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
1708 -DSQLITE_OMIT_DEPRECATED \
1709 -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
 
 
1710 -D_HAVE_SQLITE_CONFIG_H \
1711 -DSQLITE_USE_MALLOC_H \
1712 -DSQLITE_USE_MSIZE
1713
1714 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1715
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357357
$(SRCDIR)/util.c \
358358
$(SRCDIR)/verify.c \
359359
$(SRCDIR)/vfile.c \
360360
$(SRCDIR)/wiki.c \
361361
$(SRCDIR)/wikiformat.c \
362
+ $(SRCDIR)/winfile.c \
362363
$(SRCDIR)/winhttp.c \
363364
$(SRCDIR)/wysiwyg.c \
364365
$(SRCDIR)/xfer.c \
365366
$(SRCDIR)/xfersetup.c \
366367
$(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466467
$(OBJDIR)/util_.c \
467468
$(OBJDIR)/verify_.c \
468469
$(OBJDIR)/vfile_.c \
469470
$(OBJDIR)/wiki_.c \
470471
$(OBJDIR)/wikiformat_.c \
472
+ $(OBJDIR)/winfile_.c \
471473
$(OBJDIR)/winhttp_.c \
472474
$(OBJDIR)/wysiwyg_.c \
473475
$(OBJDIR)/xfer_.c \
474476
$(OBJDIR)/xfersetup_.c \
475477
$(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575577
$(OBJDIR)/util.o \
576578
$(OBJDIR)/verify.o \
577579
$(OBJDIR)/vfile.o \
578580
$(OBJDIR)/wiki.o \
579581
$(OBJDIR)/wikiformat.o \
582
+ $(OBJDIR)/winfile.o \
580583
$(OBJDIR)/winhttp.o \
581584
$(OBJDIR)/wysiwyg.o \
582585
$(OBJDIR)/xfer.o \
583586
$(OBJDIR)/xfersetup.o \
584587
$(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816819
$(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817820
$(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818821
$(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819822
$(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820823
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824
+ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
821825
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822826
$(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823827
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824828
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825829
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
16451649
16461650
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
16471651
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
16481652
16491653
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
+
1655
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656
+ $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
+
1658
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
+
1661
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
16501662
16511663
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
16521664
$(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
16531665
16541666
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
16861698
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
16871699
$(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
16881700
16891701
$(OBJDIR)/zip.h: $(OBJDIR)/headers
16901702
1691
-SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1703
+SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
1704
+ -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1705
+ -DSQLITE_ENABLE_LOCKING_STYLE=0 \
16921706
-DSQLITE_THREADSAFE=0 \
16931707
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
16941708
-DSQLITE_OMIT_DEPRECATED \
16951709
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
1696
- -Dlocaltime=fossil_localtime \
1697
- -DSQLITE_ENABLE_LOCKING_STYLE=0 \
16981710
-D_HAVE_SQLITE_CONFIG_H \
16991711
-DSQLITE_USE_MALLOC_H \
17001712
-DSQLITE_USE_MSIZE
17011713
17021714
SHELL_OPTIONS = -Dmain=sqlite3_shell \
17031715
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
 
362 $(SRCDIR)/winhttp.c \
363 $(SRCDIR)/wysiwyg.c \
364 $(SRCDIR)/xfer.c \
365 $(SRCDIR)/xfersetup.c \
366 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466 $(OBJDIR)/util_.c \
467 $(OBJDIR)/verify_.c \
468 $(OBJDIR)/vfile_.c \
469 $(OBJDIR)/wiki_.c \
470 $(OBJDIR)/wikiformat_.c \
 
471 $(OBJDIR)/winhttp_.c \
472 $(OBJDIR)/wysiwyg_.c \
473 $(OBJDIR)/xfer_.c \
474 $(OBJDIR)/xfersetup_.c \
475 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575 $(OBJDIR)/util.o \
576 $(OBJDIR)/verify.o \
577 $(OBJDIR)/vfile.o \
578 $(OBJDIR)/wiki.o \
579 $(OBJDIR)/wikiformat.o \
 
580 $(OBJDIR)/winhttp.o \
581 $(OBJDIR)/wysiwyg.o \
582 $(OBJDIR)/xfer.o \
583 $(OBJDIR)/xfersetup.o \
584 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
 
821 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1645
1646 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1647 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1648
1649 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1650
1651 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1652 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1653
1654 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
1686 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
1687 $(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
1688
1689 $(OBJDIR)/zip.h: $(OBJDIR)/headers
1690
1691 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
 
1692 -DSQLITE_THREADSAFE=0 \
1693 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
1694 -DSQLITE_OMIT_DEPRECATED \
1695 -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
1696 -Dlocaltime=fossil_localtime \
1697 -DSQLITE_ENABLE_LOCKING_STYLE=0 \
1698 -D_HAVE_SQLITE_CONFIG_H \
1699 -DSQLITE_USE_MALLOC_H \
1700 -DSQLITE_USE_MSIZE
1701
1702 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1703
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
362 $(SRCDIR)/winfile.c \
363 $(SRCDIR)/winhttp.c \
364 $(SRCDIR)/wysiwyg.c \
365 $(SRCDIR)/xfer.c \
366 $(SRCDIR)/xfersetup.c \
367 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
467 $(OBJDIR)/util_.c \
468 $(OBJDIR)/verify_.c \
469 $(OBJDIR)/vfile_.c \
470 $(OBJDIR)/wiki_.c \
471 $(OBJDIR)/wikiformat_.c \
472 $(OBJDIR)/winfile_.c \
473 $(OBJDIR)/winhttp_.c \
474 $(OBJDIR)/wysiwyg_.c \
475 $(OBJDIR)/xfer_.c \
476 $(OBJDIR)/xfersetup_.c \
477 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
577 $(OBJDIR)/util.o \
578 $(OBJDIR)/verify.o \
579 $(OBJDIR)/vfile.o \
580 $(OBJDIR)/wiki.o \
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/wysiwyg.o \
585 $(OBJDIR)/xfer.o \
586 $(OBJDIR)/xfersetup.o \
587 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
819 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
820 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
821 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
822 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
823 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
825 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
826 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
827 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
828 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
829 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1649
1650 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1651 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1652
1653 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
1655 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656 $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
1658 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
1661 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1662
1663 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1664 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1665
1666 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
@@ -1686,17 +1698,17 @@
1698 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
1699 $(XTCC) -o $(OBJDIR)/zip.o -c $(OBJDIR)/zip_.c
1700
1701 $(OBJDIR)/zip.h: $(OBJDIR)/headers
1702
1703 SQLITE_OPTIONS = -Dlocaltime=fossil_localtime \
1704 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
1705 -DSQLITE_ENABLE_LOCKING_STYLE=0 \
1706 -DSQLITE_THREADSAFE=0 \
1707 -DSQLITE_DEFAULT_FILE_FORMAT=4 \
1708 -DSQLITE_OMIT_DEPRECATED \
1709 -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
 
 
1710 -D_HAVE_SQLITE_CONFIG_H \
1711 -DSQLITE_USE_MALLOC_H \
1712 -DSQLITE_USE_MSIZE
1713
1714 SHELL_OPTIONS = -Dmain=sqlite3_shell \
1715
+20 -6
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -11,10 +11,11 @@
1111
SRCDIR = $B\src
1212
OBJDIR = .
1313
OX = .
1414
O = .obj
1515
E = .exe
16
+P = .pdb
1617
1718
# Uncomment to enable debug symbols
1819
# DEBUG = 1
1920
2021
# Uncomment to enable JSON API
@@ -39,11 +40,11 @@
3940
!ifdef FOSSIL_ENABLE_SSL
4041
INCL = $(INCL) -I$(SSLINCDIR)
4142
!endif
4243
4344
CFLAGS = -nologo -MT -O2
44
-LDFLAGS = /NODEFAULTLIB:msvcrt
45
+LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
4546
4647
!ifdef DEBUG
4748
CFLAGS = $(CFLAGS) -Zi
4849
LDFLAGS = $(LDFLAGS) /DEBUG
4950
!endif
@@ -64,17 +65,17 @@
6465
RCC = $(RCC) -DFOSSIL_ENABLE_SSL=1
6566
LIBS = $(LIBS) $(SSLLIB)
6667
LIBDIR = $(LIBDIR) -LIBPATH:$(SSLLIBDIR)
6768
!endif
6869
69
-SQLITE_OPTIONS = /DSQLITE_OMIT_LOAD_EXTENSION=1 \
70
+SQLITE_OPTIONS = /Dlocaltime=fossil_localtime \
71
+ /DSQLITE_OMIT_LOAD_EXTENSION=1 \
72
+ /DSQLITE_ENABLE_LOCKING_STYLE=0 \
7073
/DSQLITE_THREADSAFE=0 \
7174
/DSQLITE_DEFAULT_FILE_FORMAT=4 \
7275
/DSQLITE_OMIT_DEPRECATED \
73
- /DSQLITE_ENABLE_EXPLAIN_COMMENTS \
74
- /Dlocaltime=fossil_localtime \
75
- /DSQLITE_ENABLE_LOCKING_STYLE=0
76
+ /DSQLITE_ENABLE_EXPLAIN_COMMENTS
7677
7778
SHELL_OPTIONS = /Dmain=sqlite3_shell \
7879
/DSQLITE_OMIT_LOAD_EXTENSION=1 \
7980
/Dsqlite3_strglob=strglob \
8081
/Dgetenv=fossil_getenv \
@@ -180,10 +181,11 @@
180181
util_.c \
181182
verify_.c \
182183
vfile_.c \
183184
wiki_.c \
184185
wikiformat_.c \
186
+ winfile_.c \
185187
winhttp_.c \
186188
wysiwyg_.c \
187189
xfer_.c \
188190
xfersetup_.c \
189191
zip_.c
@@ -293,18 +295,20 @@
293295
$(OX)\util$O \
294296
$(OX)\verify$O \
295297
$(OX)\vfile$O \
296298
$(OX)\wiki$O \
297299
$(OX)\wikiformat$O \
300
+ $(OX)\winfile$O \
298301
$(OX)\winhttp$O \
299302
$(OX)\wysiwyg$O \
300303
$(OX)\xfer$O \
301304
$(OX)\xfersetup$O \
302305
$(OX)\zip$O \
303306
$(OX)\fossil.res
304307
305308
APPNAME = $(OX)\fossil$(E)
309
+PDBNAME = $(OX)\fossil$(P)
306310
307311
all: $(OX) $(APPNAME)
308312
309313
zlib:
310314
@echo Building zlib from "$(ZLIBDIR)"...
@@ -420,10 +424,11 @@
420424
echo $(OX)\util.obj >> $@
421425
echo $(OX)\verify.obj >> $@
422426
echo $(OX)\vfile.obj >> $@
423427
echo $(OX)\wiki.obj >> $@
424428
echo $(OX)\wikiformat.obj >> $@
429
+ echo $(OX)\winfile.obj >> $@
425430
echo $(OX)\winhttp.obj >> $@
426431
echo $(OX)\wysiwyg.obj >> $@
427432
echo $(OX)\xfer.obj >> $@
428433
echo $(OX)\xfersetup.obj >> $@
429434
echo $(OX)\zip.obj >> $@
@@ -471,16 +476,18 @@
471476
-del $(OX)\*.obj
472477
-del *.obj
473478
-del *_.c
474479
-del *.h
475480
-del *.map
481
+ -del *.res
476482
-del headers
477483
-del linkopts
478
- -del *.res
484
+ -del vc*.pdb
479485
480486
realclean: clean
481487
-del $(APPNAME)
488
+ -del $(PDBNAME)
482489
-del translate$E
483490
-del mkindex$E
484491
-del makeheaders$E
485492
-del mkversion$E
486493
@@ -1110,10 +1117,16 @@
11101117
$(OX)\wikiformat$O : wikiformat_.c wikiformat.h
11111118
$(TCC) /Fo$@ -c wikiformat_.c
11121119
11131120
wikiformat_.c : $(SRCDIR)\wikiformat.c
11141121
translate$E $** > $@
1122
+
1123
+$(OX)\winfile$O : winfile_.c winfile.h
1124
+ $(TCC) /Fo$@ -c winfile_.c
1125
+
1126
+winfile_.c : $(SRCDIR)\winfile.c
1127
+ translate$E $** > $@
11151128
11161129
$(OX)\winhttp$O : winhttp_.c winhttp.h
11171130
$(TCC) /Fo$@ -c winhttp_.c
11181131
11191132
winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1259,11 @@
12461259
util_.c:util.h \
12471260
verify_.c:verify.h \
12481261
vfile_.c:vfile.h \
12491262
wiki_.c:wiki.h \
12501263
wikiformat_.c:wikiformat.h \
1264
+ winfile_.c:winfile.h \
12511265
winhttp_.c:winhttp.h \
12521266
wysiwyg_.c:wysiwyg.h \
12531267
xfer_.c:xfer.h \
12541268
xfersetup_.c:xfersetup.h \
12551269
zip_.c:zip.h \
12561270
12571271
ADDED win/buildmsvc.bat
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -11,10 +11,11 @@
11 SRCDIR = $B\src
12 OBJDIR = .
13 OX = .
14 O = .obj
15 E = .exe
 
16
17 # Uncomment to enable debug symbols
18 # DEBUG = 1
19
20 # Uncomment to enable JSON API
@@ -39,11 +40,11 @@
39 !ifdef FOSSIL_ENABLE_SSL
40 INCL = $(INCL) -I$(SSLINCDIR)
41 !endif
42
43 CFLAGS = -nologo -MT -O2
44 LDFLAGS = /NODEFAULTLIB:msvcrt
45
46 !ifdef DEBUG
47 CFLAGS = $(CFLAGS) -Zi
48 LDFLAGS = $(LDFLAGS) /DEBUG
49 !endif
@@ -64,17 +65,17 @@
64 RCC = $(RCC) -DFOSSIL_ENABLE_SSL=1
65 LIBS = $(LIBS) $(SSLLIB)
66 LIBDIR = $(LIBDIR) -LIBPATH:$(SSLLIBDIR)
67 !endif
68
69 SQLITE_OPTIONS = /DSQLITE_OMIT_LOAD_EXTENSION=1 \
 
 
70 /DSQLITE_THREADSAFE=0 \
71 /DSQLITE_DEFAULT_FILE_FORMAT=4 \
72 /DSQLITE_OMIT_DEPRECATED \
73 /DSQLITE_ENABLE_EXPLAIN_COMMENTS \
74 /Dlocaltime=fossil_localtime \
75 /DSQLITE_ENABLE_LOCKING_STYLE=0
76
77 SHELL_OPTIONS = /Dmain=sqlite3_shell \
78 /DSQLITE_OMIT_LOAD_EXTENSION=1 \
79 /Dsqlite3_strglob=strglob \
80 /Dgetenv=fossil_getenv \
@@ -180,10 +181,11 @@
180 util_.c \
181 verify_.c \
182 vfile_.c \
183 wiki_.c \
184 wikiformat_.c \
 
185 winhttp_.c \
186 wysiwyg_.c \
187 xfer_.c \
188 xfersetup_.c \
189 zip_.c
@@ -293,18 +295,20 @@
293 $(OX)\util$O \
294 $(OX)\verify$O \
295 $(OX)\vfile$O \
296 $(OX)\wiki$O \
297 $(OX)\wikiformat$O \
 
298 $(OX)\winhttp$O \
299 $(OX)\wysiwyg$O \
300 $(OX)\xfer$O \
301 $(OX)\xfersetup$O \
302 $(OX)\zip$O \
303 $(OX)\fossil.res
304
305 APPNAME = $(OX)\fossil$(E)
 
306
307 all: $(OX) $(APPNAME)
308
309 zlib:
310 @echo Building zlib from "$(ZLIBDIR)"...
@@ -420,10 +424,11 @@
420 echo $(OX)\util.obj >> $@
421 echo $(OX)\verify.obj >> $@
422 echo $(OX)\vfile.obj >> $@
423 echo $(OX)\wiki.obj >> $@
424 echo $(OX)\wikiformat.obj >> $@
 
425 echo $(OX)\winhttp.obj >> $@
426 echo $(OX)\wysiwyg.obj >> $@
427 echo $(OX)\xfer.obj >> $@
428 echo $(OX)\xfersetup.obj >> $@
429 echo $(OX)\zip.obj >> $@
@@ -471,16 +476,18 @@
471 -del $(OX)\*.obj
472 -del *.obj
473 -del *_.c
474 -del *.h
475 -del *.map
 
476 -del headers
477 -del linkopts
478 -del *.res
479
480 realclean: clean
481 -del $(APPNAME)
 
482 -del translate$E
483 -del mkindex$E
484 -del makeheaders$E
485 -del mkversion$E
486
@@ -1110,10 +1117,16 @@
1110 $(OX)\wikiformat$O : wikiformat_.c wikiformat.h
1111 $(TCC) /Fo$@ -c wikiformat_.c
1112
1113 wikiformat_.c : $(SRCDIR)\wikiformat.c
1114 translate$E $** > $@
 
 
 
 
 
 
1115
1116 $(OX)\winhttp$O : winhttp_.c winhttp.h
1117 $(TCC) /Fo$@ -c winhttp_.c
1118
1119 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1259,11 @@
1246 util_.c:util.h \
1247 verify_.c:verify.h \
1248 vfile_.c:vfile.h \
1249 wiki_.c:wiki.h \
1250 wikiformat_.c:wikiformat.h \
 
1251 winhttp_.c:winhttp.h \
1252 wysiwyg_.c:wysiwyg.h \
1253 xfer_.c:xfer.h \
1254 xfersetup_.c:xfersetup.h \
1255 zip_.c:zip.h \
1256
1257 DDED win/buildmsvc.bat
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -11,10 +11,11 @@
11 SRCDIR = $B\src
12 OBJDIR = .
13 OX = .
14 O = .obj
15 E = .exe
16 P = .pdb
17
18 # Uncomment to enable debug symbols
19 # DEBUG = 1
20
21 # Uncomment to enable JSON API
@@ -39,11 +40,11 @@
40 !ifdef FOSSIL_ENABLE_SSL
41 INCL = $(INCL) -I$(SSLINCDIR)
42 !endif
43
44 CFLAGS = -nologo -MT -O2
45 LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
46
47 !ifdef DEBUG
48 CFLAGS = $(CFLAGS) -Zi
49 LDFLAGS = $(LDFLAGS) /DEBUG
50 !endif
@@ -64,17 +65,17 @@
65 RCC = $(RCC) -DFOSSIL_ENABLE_SSL=1
66 LIBS = $(LIBS) $(SSLLIB)
67 LIBDIR = $(LIBDIR) -LIBPATH:$(SSLLIBDIR)
68 !endif
69
70 SQLITE_OPTIONS = /Dlocaltime=fossil_localtime \
71 /DSQLITE_OMIT_LOAD_EXTENSION=1 \
72 /DSQLITE_ENABLE_LOCKING_STYLE=0 \
73 /DSQLITE_THREADSAFE=0 \
74 /DSQLITE_DEFAULT_FILE_FORMAT=4 \
75 /DSQLITE_OMIT_DEPRECATED \
76 /DSQLITE_ENABLE_EXPLAIN_COMMENTS
 
 
77
78 SHELL_OPTIONS = /Dmain=sqlite3_shell \
79 /DSQLITE_OMIT_LOAD_EXTENSION=1 \
80 /Dsqlite3_strglob=strglob \
81 /Dgetenv=fossil_getenv \
@@ -180,10 +181,11 @@
181 util_.c \
182 verify_.c \
183 vfile_.c \
184 wiki_.c \
185 wikiformat_.c \
186 winfile_.c \
187 winhttp_.c \
188 wysiwyg_.c \
189 xfer_.c \
190 xfersetup_.c \
191 zip_.c
@@ -293,18 +295,20 @@
295 $(OX)\util$O \
296 $(OX)\verify$O \
297 $(OX)\vfile$O \
298 $(OX)\wiki$O \
299 $(OX)\wikiformat$O \
300 $(OX)\winfile$O \
301 $(OX)\winhttp$O \
302 $(OX)\wysiwyg$O \
303 $(OX)\xfer$O \
304 $(OX)\xfersetup$O \
305 $(OX)\zip$O \
306 $(OX)\fossil.res
307
308 APPNAME = $(OX)\fossil$(E)
309 PDBNAME = $(OX)\fossil$(P)
310
311 all: $(OX) $(APPNAME)
312
313 zlib:
314 @echo Building zlib from "$(ZLIBDIR)"...
@@ -420,10 +424,11 @@
424 echo $(OX)\util.obj >> $@
425 echo $(OX)\verify.obj >> $@
426 echo $(OX)\vfile.obj >> $@
427 echo $(OX)\wiki.obj >> $@
428 echo $(OX)\wikiformat.obj >> $@
429 echo $(OX)\winfile.obj >> $@
430 echo $(OX)\winhttp.obj >> $@
431 echo $(OX)\wysiwyg.obj >> $@
432 echo $(OX)\xfer.obj >> $@
433 echo $(OX)\xfersetup.obj >> $@
434 echo $(OX)\zip.obj >> $@
@@ -471,16 +476,18 @@
476 -del $(OX)\*.obj
477 -del *.obj
478 -del *_.c
479 -del *.h
480 -del *.map
481 -del *.res
482 -del headers
483 -del linkopts
484 -del vc*.pdb
485
486 realclean: clean
487 -del $(APPNAME)
488 -del $(PDBNAME)
489 -del translate$E
490 -del mkindex$E
491 -del makeheaders$E
492 -del mkversion$E
493
@@ -1110,10 +1117,16 @@
1117 $(OX)\wikiformat$O : wikiformat_.c wikiformat.h
1118 $(TCC) /Fo$@ -c wikiformat_.c
1119
1120 wikiformat_.c : $(SRCDIR)\wikiformat.c
1121 translate$E $** > $@
1122
1123 $(OX)\winfile$O : winfile_.c winfile.h
1124 $(TCC) /Fo$@ -c winfile_.c
1125
1126 winfile_.c : $(SRCDIR)\winfile.c
1127 translate$E $** > $@
1128
1129 $(OX)\winhttp$O : winhttp_.c winhttp.h
1130 $(TCC) /Fo$@ -c winhttp_.c
1131
1132 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1259,11 @@
1259 util_.c:util.h \
1260 verify_.c:verify.h \
1261 vfile_.c:vfile.h \
1262 wiki_.c:wiki.h \
1263 wikiformat_.c:wikiformat.h \
1264 winfile_.c:winfile.h \
1265 winhttp_.c:winhttp.h \
1266 wysiwyg_.c:wysiwyg.h \
1267 xfer_.c:xfer.h \
1268 xfersetup_.c:xfersetup.h \
1269 zip_.c:zip.h \
1270
1271 DDED win/buildmsvc.bat
--- a/win/buildmsvc.bat
+++ b/win/buildmsvc.bat
@@ -0,0 +1,8 @@
1
+\x64*\x64*Root = '%ROOT%'compileseGOTO skip_se2
2
+REMGOTO skip_se0
3
+REMGOTO skip_se08
4
+REMGOTO skip_se05
5
+REMGOTO skip_se03
6
+REMGOTO skip_seseVerify that the specified Visual Studio environment batch file
7
+REM existsVSVARS32%" (
8
+ ECHO Visual Studio\x64*\x64*Root
--- a/win/buildmsvc.bat
+++ b/win/buildmsvc.bat
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
--- a/win/buildmsvc.bat
+++ b/win/buildmsvc.bat
@@ -0,0 +1,8 @@
1 \x64*\x64*Root = '%ROOT%'compileseGOTO skip_se2
2 REMGOTO skip_se0
3 REMGOTO skip_se08
4 REMGOTO skip_se05
5 REMGOTO skip_se03
6 REMGOTO skip_seseVerify that the specified Visual Studio environment batch file
7 REM existsVSVARS32%" (
8 ECHO Visual Studio\x64*\x64*Root
--- www/makefile.wiki
+++ www/makefile.wiki
@@ -208,11 +208,10 @@
208208
* -Dlocaltime=fossil_localtime
209209
* -DSQLITE_OMIT_LOAD_EXTENSION=1
210210
* -DSQLITE_ENABLE_LOCKING_STYLE=0
211211
* -DSQLITE_THREADSAFE=0
212212
* -DSQLITE_DEFAULT_FILE_FORMAT=4
213
- * -DSQLITE_ENABLE_STAT3
214213
215214
The first and second symbol definitions above are required; the others
216215
are merely recommended. The "localtime()" library function in SQLite must
217216
be redefined to invoke fossil_localtime() instead. The fossil_localtime()
218217
routine will invoke either gmtime() or localtime() depending on the
219218
--- www/makefile.wiki
+++ www/makefile.wiki
@@ -208,11 +208,10 @@
208 * -Dlocaltime=fossil_localtime
209 * -DSQLITE_OMIT_LOAD_EXTENSION=1
210 * -DSQLITE_ENABLE_LOCKING_STYLE=0
211 * -DSQLITE_THREADSAFE=0
212 * -DSQLITE_DEFAULT_FILE_FORMAT=4
213 * -DSQLITE_ENABLE_STAT3
214
215 The first and second symbol definitions above are required; the others
216 are merely recommended. The "localtime()" library function in SQLite must
217 be redefined to invoke fossil_localtime() instead. The fossil_localtime()
218 routine will invoke either gmtime() or localtime() depending on the
219
--- www/makefile.wiki
+++ www/makefile.wiki
@@ -208,11 +208,10 @@
208 * -Dlocaltime=fossil_localtime
209 * -DSQLITE_OMIT_LOAD_EXTENSION=1
210 * -DSQLITE_ENABLE_LOCKING_STYLE=0
211 * -DSQLITE_THREADSAFE=0
212 * -DSQLITE_DEFAULT_FILE_FORMAT=4
 
213
214 The first and second symbol definitions above are required; the others
215 are merely recommended. The "localtime()" library function in SQLite must
216 be redefined to invoke fossil_localtime() instead. The fossil_localtime()
217 routine will invoke either gmtime() or localtime() depending on the
218

Keyboard Shortcuts

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