Fossil SCM

Merge enhancements from trunk.

drh 2018-08-06 12:51 failed-fix merge
Commit ce3d5718370a7e55a9393ab1b321f664cbf0099f71adb9509d5f2907d87d343c
+1 -1
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
21312131
** A web-form to send an email message to the repository administrator,
21322132
** or (with appropriate permissions) to anybody.
21332133
*/
21342134
void contact_admin_page(void){
21352135
const char *zAdminEmail = db_get("email-admin",0);
2136
- unsigned int uSeed;
2136
+ unsigned int uSeed = 0;
21372137
const char *zDecoded;
21382138
char *zCaptcha = 0;
21392139
21402140
login_check_credentials();
21412141
if( zAdminEmail==0 || zAdminEmail[0]==0 ){
21422142
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
2131 ** A web-form to send an email message to the repository administrator,
2132 ** or (with appropriate permissions) to anybody.
2133 */
2134 void contact_admin_page(void){
2135 const char *zAdminEmail = db_get("email-admin",0);
2136 unsigned int uSeed;
2137 const char *zDecoded;
2138 char *zCaptcha = 0;
2139
2140 login_check_credentials();
2141 if( zAdminEmail==0 || zAdminEmail[0]==0 ){
2142
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
2131 ** A web-form to send an email message to the repository administrator,
2132 ** or (with appropriate permissions) to anybody.
2133 */
2134 void contact_admin_page(void){
2135 const char *zAdminEmail = db_get("email-admin",0);
2136 unsigned int uSeed = 0;
2137 const char *zDecoded;
2138 char *zCaptcha = 0;
2139
2140 login_check_credentials();
2141 if( zAdminEmail==0 || zAdminEmail[0]==0 ){
2142
+1 -1
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
21312131
** A web-form to send an email message to the repository administrator,
21322132
** or (with appropriate permissions) to anybody.
21332133
*/
21342134
void contact_admin_page(void){
21352135
const char *zAdminEmail = db_get("email-admin",0);
2136
- unsigned int uSeed;
2136
+ unsigned int uSeed = 0;
21372137
const char *zDecoded;
21382138
char *zCaptcha = 0;
21392139
21402140
login_check_credentials();
21412141
if( zAdminEmail==0 || zAdminEmail[0]==0 ){
21422142
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
2131 ** A web-form to send an email message to the repository administrator,
2132 ** or (with appropriate permissions) to anybody.
2133 */
2134 void contact_admin_page(void){
2135 const char *zAdminEmail = db_get("email-admin",0);
2136 unsigned int uSeed;
2137 const char *zDecoded;
2138 char *zCaptcha = 0;
2139
2140 login_check_credentials();
2141 if( zAdminEmail==0 || zAdminEmail[0]==0 ){
2142
--- src/email.c
+++ src/email.c
@@ -2131,11 +2131,11 @@
2131 ** A web-form to send an email message to the repository administrator,
2132 ** or (with appropriate permissions) to anybody.
2133 */
2134 void contact_admin_page(void){
2135 const char *zAdminEmail = db_get("email-admin",0);
2136 unsigned int uSeed = 0;
2137 const char *zDecoded;
2138 char *zCaptcha = 0;
2139
2140 login_check_credentials();
2141 if( zAdminEmail==0 || zAdminEmail[0]==0 ){
2142
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -35,10 +35,11 @@
3535
that we end up with HTTP clients using 3 different names
3636
for the same requests.
3737
*/
3838
{"branch", json_timeline_branch, 0},
3939
{"checkin", json_timeline_ci, 0},
40
+{"event", json_timeline_event, 0},
4041
{"ticket", json_timeline_ticket, 0},
4142
{"wiki", json_timeline_wiki, 0},
4243
/* Last entry MUST have a NULL name. */
4344
{NULL,NULL,0}
4445
};
@@ -519,10 +520,66 @@
519520
payV = NULL;
520521
ok:
521522
db_finalize(&q);
522523
return payV;
523524
}
525
+
526
+/*
527
+** Implementation of /json/timeline/event.
528
+**
529
+*/
530
+cson_value * json_timeline_event(){
531
+ /* This code is 95% the same as json_timeline_ci(), by the way. */
532
+ cson_value * payV = NULL;
533
+ cson_object * pay = NULL;
534
+ cson_array * list = NULL;
535
+ int check = 0;
536
+ Stmt q = empty_Stmt;
537
+ Blob sql = empty_blob;
538
+ if( !g.perm.RdWiki ){
539
+ json_set_err( FSL_JSON_E_DENIED, "Event timeline requires 'j' access.");
540
+ return NULL;
541
+ }
542
+ payV = cson_value_new_object();
543
+ pay = cson_value_get_object(payV);
544
+ check = json_timeline_setup_sql( "e", &sql, pay );
545
+ if(check){
546
+ json_set_err(check, "Query initialization failed.");
547
+ goto error;
548
+ }
549
+
550
+#if 0
551
+ /* only for testing! */
552
+ cson_object_set(pay, "timelineSql", cson_value_new_string(blob_buffer(&sql),strlen(blob_buffer(&sql))));
553
+#endif
554
+ db_multi_exec("%s", blob_buffer(&sql) /*safe-for-%s*/);
555
+ blob_reset(&sql);
556
+ db_prepare(&q, "SELECT"
557
+ /* For events, the name is generally more useful than
558
+ the uuid, but the uuid is unambiguous and can be used
559
+ with commands like 'artifact'. */
560
+ " substr((SELECT tagname FROM tag AS tn WHERE tn.tagid=json_timeline.tagId AND tagname LIKE 'event-%%'),7) AS name,"
561
+ " uuid as uuid,"
562
+ " mtime AS timestamp,"
563
+ " comment AS comment, "
564
+ " user AS user,"
565
+ " eventType AS eventType"
566
+ " FROM json_timeline"
567
+ " ORDER BY rowid");
568
+ list = cson_new_array();
569
+ json_stmt_to_array_of_obj(&q, list);
570
+ cson_object_set(pay, "timeline", cson_array_value(list));
571
+ goto ok;
572
+ error:
573
+ assert( 0 != g.json.resultCode );
574
+ cson_value_free(payV);
575
+ payV = NULL;
576
+ ok:
577
+ db_finalize(&q);
578
+ blob_reset(&sql);
579
+ return payV;
580
+}
524581
525582
/*
526583
** Implementation of /json/timeline/wiki.
527584
**
528585
*/
529586
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -35,10 +35,11 @@
35 that we end up with HTTP clients using 3 different names
36 for the same requests.
37 */
38 {"branch", json_timeline_branch, 0},
39 {"checkin", json_timeline_ci, 0},
 
40 {"ticket", json_timeline_ticket, 0},
41 {"wiki", json_timeline_wiki, 0},
42 /* Last entry MUST have a NULL name. */
43 {NULL,NULL,0}
44 };
@@ -519,10 +520,66 @@
519 payV = NULL;
520 ok:
521 db_finalize(&q);
522 return payV;
523 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
524
525 /*
526 ** Implementation of /json/timeline/wiki.
527 **
528 */
529
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -35,10 +35,11 @@
35 that we end up with HTTP clients using 3 different names
36 for the same requests.
37 */
38 {"branch", json_timeline_branch, 0},
39 {"checkin", json_timeline_ci, 0},
40 {"event", json_timeline_event, 0},
41 {"ticket", json_timeline_ticket, 0},
42 {"wiki", json_timeline_wiki, 0},
43 /* Last entry MUST have a NULL name. */
44 {NULL,NULL,0}
45 };
@@ -519,10 +520,66 @@
520 payV = NULL;
521 ok:
522 db_finalize(&q);
523 return payV;
524 }
525
526 /*
527 ** Implementation of /json/timeline/event.
528 **
529 */
530 cson_value * json_timeline_event(){
531 /* This code is 95% the same as json_timeline_ci(), by the way. */
532 cson_value * payV = NULL;
533 cson_object * pay = NULL;
534 cson_array * list = NULL;
535 int check = 0;
536 Stmt q = empty_Stmt;
537 Blob sql = empty_blob;
538 if( !g.perm.RdWiki ){
539 json_set_err( FSL_JSON_E_DENIED, "Event timeline requires 'j' access.");
540 return NULL;
541 }
542 payV = cson_value_new_object();
543 pay = cson_value_get_object(payV);
544 check = json_timeline_setup_sql( "e", &sql, pay );
545 if(check){
546 json_set_err(check, "Query initialization failed.");
547 goto error;
548 }
549
550 #if 0
551 /* only for testing! */
552 cson_object_set(pay, "timelineSql", cson_value_new_string(blob_buffer(&sql),strlen(blob_buffer(&sql))));
553 #endif
554 db_multi_exec("%s", blob_buffer(&sql) /*safe-for-%s*/);
555 blob_reset(&sql);
556 db_prepare(&q, "SELECT"
557 /* For events, the name is generally more useful than
558 the uuid, but the uuid is unambiguous and can be used
559 with commands like 'artifact'. */
560 " substr((SELECT tagname FROM tag AS tn WHERE tn.tagid=json_timeline.tagId AND tagname LIKE 'event-%%'),7) AS name,"
561 " uuid as uuid,"
562 " mtime AS timestamp,"
563 " comment AS comment, "
564 " user AS user,"
565 " eventType AS eventType"
566 " FROM json_timeline"
567 " ORDER BY rowid");
568 list = cson_new_array();
569 json_stmt_to_array_of_obj(&q, list);
570 cson_object_set(pay, "timeline", cson_array_value(list));
571 goto ok;
572 error:
573 assert( 0 != g.json.resultCode );
574 cson_value_free(payV);
575 payV = NULL;
576 ok:
577 db_finalize(&q);
578 blob_reset(&sql);
579 return payV;
580 }
581
582 /*
583 ** Implementation of /json/timeline/wiki.
584 **
585 */
586
+31 -29
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
18381838
if( g.fCgiTrace ){
18391839
fossil_trace("######## Calling %s #########\n", pCmd->zName);
18401840
cgi_print_all(1, 1);
18411841
}
18421842
#ifdef FOSSIL_ENABLE_TH1_HOOKS
1843
- /*
1844
- ** The TH1 return codes from the hook will be handled as follows:
1845
- **
1846
- ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1847
- **
1848
- ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1849
- ** skipped. If the xFunc() is being hooked, the error message
1850
- ** will be emitted.
1851
- **
1852
- ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1853
- **
1854
- ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1855
- ** skipped.
1856
- **
1857
- ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1858
- ** executed.
1859
- */
1860
- int rc;
1861
- if( !g.fNoThHook ){
1862
- rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1863
- }else{
1864
- rc = TH_OK;
1865
- }
1866
- if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1867
- if( rc==TH_OK || rc==TH_RETURN ){
1843
+ {
1844
+ /*
1845
+ ** The TH1 return codes from the hook will be handled as follows:
1846
+ **
1847
+ ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1848
+ **
1849
+ ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1850
+ ** skipped. If the xFunc() is being hooked, the error message
1851
+ ** will be emitted.
1852
+ **
1853
+ ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1854
+ **
1855
+ ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1856
+ ** skipped.
1857
+ **
1858
+ ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1859
+ ** executed.
1860
+ */
1861
+ int rc;
1862
+ if( !g.fNoThHook ){
1863
+ rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1864
+ }else{
1865
+ rc = TH_OK;
1866
+ }
1867
+ if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1868
+ if( rc==TH_OK || rc==TH_RETURN ){
18681869
#endif
1869
- pCmd->xFunc();
1870
+ pCmd->xFunc();
18701871
#ifdef FOSSIL_ENABLE_TH1_HOOKS
1871
- }
1872
- if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1873
- Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1872
+ }
1873
+ if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1874
+ Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1875
+ }
18741876
}
18751877
}
18761878
#endif
18771879
}
18781880
18791881
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
1838 if( g.fCgiTrace ){
1839 fossil_trace("######## Calling %s #########\n", pCmd->zName);
1840 cgi_print_all(1, 1);
1841 }
1842 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1843 /*
1844 ** The TH1 return codes from the hook will be handled as follows:
1845 **
1846 ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1847 **
1848 ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1849 ** skipped. If the xFunc() is being hooked, the error message
1850 ** will be emitted.
1851 **
1852 ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1853 **
1854 ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1855 ** skipped.
1856 **
1857 ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1858 ** executed.
1859 */
1860 int rc;
1861 if( !g.fNoThHook ){
1862 rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1863 }else{
1864 rc = TH_OK;
1865 }
1866 if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1867 if( rc==TH_OK || rc==TH_RETURN ){
 
1868 #endif
1869 pCmd->xFunc();
1870 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1871 }
1872 if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1873 Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
 
1874 }
1875 }
1876 #endif
1877 }
1878
1879
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
1838 if( g.fCgiTrace ){
1839 fossil_trace("######## Calling %s #########\n", pCmd->zName);
1840 cgi_print_all(1, 1);
1841 }
1842 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1843 {
1844 /*
1845 ** The TH1 return codes from the hook will be handled as follows:
1846 **
1847 ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1848 **
1849 ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1850 ** skipped. If the xFunc() is being hooked, the error message
1851 ** will be emitted.
1852 **
1853 ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1854 **
1855 ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1856 ** skipped.
1857 **
1858 ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1859 ** executed.
1860 */
1861 int rc;
1862 if( !g.fNoThHook ){
1863 rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1864 }else{
1865 rc = TH_OK;
1866 }
1867 if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1868 if( rc==TH_OK || rc==TH_RETURN ){
1869 #endif
1870 pCmd->xFunc();
1871 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1872 }
1873 if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1874 Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1875 }
1876 }
1877 }
1878 #endif
1879 }
1880
1881
+31 -29
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
18381838
if( g.fCgiTrace ){
18391839
fossil_trace("######## Calling %s #########\n", pCmd->zName);
18401840
cgi_print_all(1, 1);
18411841
}
18421842
#ifdef FOSSIL_ENABLE_TH1_HOOKS
1843
- /*
1844
- ** The TH1 return codes from the hook will be handled as follows:
1845
- **
1846
- ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1847
- **
1848
- ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1849
- ** skipped. If the xFunc() is being hooked, the error message
1850
- ** will be emitted.
1851
- **
1852
- ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1853
- **
1854
- ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1855
- ** skipped.
1856
- **
1857
- ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1858
- ** executed.
1859
- */
1860
- int rc;
1861
- if( !g.fNoThHook ){
1862
- rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1863
- }else{
1864
- rc = TH_OK;
1865
- }
1866
- if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1867
- if( rc==TH_OK || rc==TH_RETURN ){
1843
+ {
1844
+ /*
1845
+ ** The TH1 return codes from the hook will be handled as follows:
1846
+ **
1847
+ ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1848
+ **
1849
+ ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1850
+ ** skipped. If the xFunc() is being hooked, the error message
1851
+ ** will be emitted.
1852
+ **
1853
+ ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1854
+ **
1855
+ ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1856
+ ** skipped.
1857
+ **
1858
+ ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1859
+ ** executed.
1860
+ */
1861
+ int rc;
1862
+ if( !g.fNoThHook ){
1863
+ rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1864
+ }else{
1865
+ rc = TH_OK;
1866
+ }
1867
+ if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1868
+ if( rc==TH_OK || rc==TH_RETURN ){
18681869
#endif
1869
- pCmd->xFunc();
1870
+ pCmd->xFunc();
18701871
#ifdef FOSSIL_ENABLE_TH1_HOOKS
1871
- }
1872
- if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1873
- Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1872
+ }
1873
+ if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1874
+ Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1875
+ }
18741876
}
18751877
}
18761878
#endif
18771879
}
18781880
18791881
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
1838 if( g.fCgiTrace ){
1839 fossil_trace("######## Calling %s #########\n", pCmd->zName);
1840 cgi_print_all(1, 1);
1841 }
1842 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1843 /*
1844 ** The TH1 return codes from the hook will be handled as follows:
1845 **
1846 ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1847 **
1848 ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1849 ** skipped. If the xFunc() is being hooked, the error message
1850 ** will be emitted.
1851 **
1852 ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1853 **
1854 ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1855 ** skipped.
1856 **
1857 ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1858 ** executed.
1859 */
1860 int rc;
1861 if( !g.fNoThHook ){
1862 rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1863 }else{
1864 rc = TH_OK;
1865 }
1866 if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1867 if( rc==TH_OK || rc==TH_RETURN ){
 
1868 #endif
1869 pCmd->xFunc();
1870 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1871 }
1872 if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1873 Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
 
1874 }
1875 }
1876 #endif
1877 }
1878
1879
--- src/main.c
+++ src/main.c
@@ -1838,41 +1838,43 @@
1838 if( g.fCgiTrace ){
1839 fossil_trace("######## Calling %s #########\n", pCmd->zName);
1840 cgi_print_all(1, 1);
1841 }
1842 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1843 {
1844 /*
1845 ** The TH1 return codes from the hook will be handled as follows:
1846 **
1847 ** TH_OK: The xFunc() and the TH1 notification will both be executed.
1848 **
1849 ** TH_ERROR: The xFunc() will be skipped, the TH1 notification will be
1850 ** skipped. If the xFunc() is being hooked, the error message
1851 ** will be emitted.
1852 **
1853 ** TH_BREAK: The xFunc() and the TH1 notification will both be skipped.
1854 **
1855 ** TH_RETURN: The xFunc() will be executed, the TH1 notification will be
1856 ** skipped.
1857 **
1858 ** TH_CONTINUE: The xFunc() will be skipped, the TH1 notification will be
1859 ** executed.
1860 */
1861 int rc;
1862 if( !g.fNoThHook ){
1863 rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
1864 }else{
1865 rc = TH_OK;
1866 }
1867 if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
1868 if( rc==TH_OK || rc==TH_RETURN ){
1869 #endif
1870 pCmd->xFunc();
1871 #ifdef FOSSIL_ENABLE_TH1_HOOKS
1872 }
1873 if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
1874 Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
1875 }
1876 }
1877 }
1878 #endif
1879 }
1880
1881
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
18061806
foreach s [lsort $extra_files] {
18071807
if {$i > 0} {
18081808
writeln " \\"
18091809
writeln -nonewline " "
18101810
}
1811
+ set s [file nativename $s]
18111812
writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
18121813
}
18131814
writeln "\n"
18141815
set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
18151816
writeln -nonewline "OBJ = "
18161817
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
1806 foreach s [lsort $extra_files] {
1807 if {$i > 0} {
1808 writeln " \\"
1809 writeln -nonewline " "
1810 }
 
1811 writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1812 }
1813 writeln "\n"
1814 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1815 writeln -nonewline "OBJ = "
1816
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
1806 foreach s [lsort $extra_files] {
1807 if {$i > 0} {
1808 writeln " \\"
1809 writeln -nonewline " "
1810 }
1811 set s [file nativename $s]
1812 writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1813 }
1814 writeln "\n"
1815 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1816 writeln -nonewline "OBJ = "
1817
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
18061806
foreach s [lsort $extra_files] {
18071807
if {$i > 0} {
18081808
writeln " \\"
18091809
writeln -nonewline " "
18101810
}
1811
+ set s [file nativename $s]
18111812
writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
18121813
}
18131814
writeln "\n"
18141815
set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
18151816
writeln -nonewline "OBJ = "
18161817
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
1806 foreach s [lsort $extra_files] {
1807 if {$i > 0} {
1808 writeln " \\"
1809 writeln -nonewline " "
1810 }
 
1811 writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1812 }
1813 writeln "\n"
1814 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1815 writeln -nonewline "OBJ = "
1816
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -1806,10 +1806,11 @@
1806 foreach s [lsort $extra_files] {
1807 if {$i > 0} {
1808 writeln " \\"
1809 writeln -nonewline " "
1810 }
1811 set s [file nativename $s]
1812 writeln -nonewline "\$(SRCDIR)\\${s}"; incr i
1813 }
1814 writeln "\n"
1815 set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation]
1816 writeln -nonewline "OBJ = "
1817
+25 -18
--- src/translate.c
+++ src/translate.c
@@ -203,37 +203,44 @@
203203
fprintf(out,"\n%*s\"%s%s\"",indent+5, "", zOut, zNewline);
204204
}
205205
}
206206
}
207207
}
208
+
209
+static void print_source_ref(const char *zSrcFile, FILE *out){
210
+/* Set source line reference to the original source file.
211
+ * This makes compiler show the original file name in the compile error
212
+ * messages, instead of referring to the translated file.
213
+ * NOTE: This somewhat complicates stepping in debugger, as the resuling
214
+ * code would not match the referenced sources.
215
+ */
216
+#ifndef FOSSIL_DEBUG
217
+ const char *arg;
218
+ if( !*zSrcFile ){
219
+ return;
220
+ }
221
+ fprintf(out,"#line 1 \"");
222
+ for(arg=zSrcFile; *arg; arg++){
223
+ if( *arg!='\\' ){
224
+ fprintf(out,"%c", *arg);
225
+ }else{
226
+ fprintf(out,"\\\\");
227
+ }
228
+ }
229
+ fprintf(out,"\"\n");
230
+#endif
231
+}
208232
209233
int main(int argc, char **argv){
210234
if( argc==2 ){
211
- char *arg;
212235
FILE *in = fopen(argv[1], "r");
213236
if( in==0 ){
214237
fprintf(stderr,"can not open %s\n", argv[1]);
215238
exit(1);
216239
}
217240
zInFile = argv[1];
218
-#ifndef FOSSIL_DEBUG
219
- /* Set source line reference to the original source file.
220
- * This makes compiler show the original file name in the compile error
221
- * messages, instead of referring to the translated file.
222
- * NOTE: This somewhat complicates stepping in debugger, as the resuling
223
- * code would not match the referenced sources.
224
- */
225
- printf("#line 1 \"");
226
- for(arg=argv[1]; *arg; arg++){
227
- if( *arg!='\\' ){
228
- printf("%c", *arg);
229
- }else{
230
- printf("\\\\");
231
- }
232
- }
233
- printf("\"\n");
234
-#endif
241
+ print_source_ref(zInFile, stdout);
235242
trans(in, stdout);
236243
fclose(in);
237244
}else{
238245
trans(stdin, stdout);
239246
}
240247
--- src/translate.c
+++ src/translate.c
@@ -203,37 +203,44 @@
203 fprintf(out,"\n%*s\"%s%s\"",indent+5, "", zOut, zNewline);
204 }
205 }
206 }
207 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
209 int main(int argc, char **argv){
210 if( argc==2 ){
211 char *arg;
212 FILE *in = fopen(argv[1], "r");
213 if( in==0 ){
214 fprintf(stderr,"can not open %s\n", argv[1]);
215 exit(1);
216 }
217 zInFile = argv[1];
218 #ifndef FOSSIL_DEBUG
219 /* Set source line reference to the original source file.
220 * This makes compiler show the original file name in the compile error
221 * messages, instead of referring to the translated file.
222 * NOTE: This somewhat complicates stepping in debugger, as the resuling
223 * code would not match the referenced sources.
224 */
225 printf("#line 1 \"");
226 for(arg=argv[1]; *arg; arg++){
227 if( *arg!='\\' ){
228 printf("%c", *arg);
229 }else{
230 printf("\\\\");
231 }
232 }
233 printf("\"\n");
234 #endif
235 trans(in, stdout);
236 fclose(in);
237 }else{
238 trans(stdin, stdout);
239 }
240
--- src/translate.c
+++ src/translate.c
@@ -203,37 +203,44 @@
203 fprintf(out,"\n%*s\"%s%s\"",indent+5, "", zOut, zNewline);
204 }
205 }
206 }
207 }
208
209 static void print_source_ref(const char *zSrcFile, FILE *out){
210 /* Set source line reference to the original source file.
211 * This makes compiler show the original file name in the compile error
212 * messages, instead of referring to the translated file.
213 * NOTE: This somewhat complicates stepping in debugger, as the resuling
214 * code would not match the referenced sources.
215 */
216 #ifndef FOSSIL_DEBUG
217 const char *arg;
218 if( !*zSrcFile ){
219 return;
220 }
221 fprintf(out,"#line 1 \"");
222 for(arg=zSrcFile; *arg; arg++){
223 if( *arg!='\\' ){
224 fprintf(out,"%c", *arg);
225 }else{
226 fprintf(out,"\\\\");
227 }
228 }
229 fprintf(out,"\"\n");
230 #endif
231 }
232
233 int main(int argc, char **argv){
234 if( argc==2 ){
 
235 FILE *in = fopen(argv[1], "r");
236 if( in==0 ){
237 fprintf(stderr,"can not open %s\n", argv[1]);
238 exit(1);
239 }
240 zInFile = argv[1];
241 print_source_ref(zInFile, stdout);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242 trans(in, stdout);
243 fclose(in);
244 }else{
245 trans(stdin, stdout);
246 }
247
--- src/winhttp.c
+++ src/winhttp.c
@@ -20,10 +20,14 @@
2020
** server to be run without any user logged on.
2121
*/
2222
#include "config.h"
2323
#ifdef _WIN32
2424
/* This code is for win32 only */
25
+# if !defined(_WIN32_WINNT)
26
+# define _WIN32_WINNT 0x0501
27
+# endif
28
+#include <winsock2.h>
2529
#include <ws2tcpip.h>
2630
#include <windows.h>
2731
#include <process.h>
2832
#include "winhttp.h"
2933
3034
--- src/winhttp.c
+++ src/winhttp.c
@@ -20,10 +20,14 @@
20 ** server to be run without any user logged on.
21 */
22 #include "config.h"
23 #ifdef _WIN32
24 /* This code is for win32 only */
 
 
 
 
25 #include <ws2tcpip.h>
26 #include <windows.h>
27 #include <process.h>
28 #include "winhttp.h"
29
30
--- src/winhttp.c
+++ src/winhttp.c
@@ -20,10 +20,14 @@
20 ** server to be run without any user logged on.
21 */
22 #include "config.h"
23 #ifdef _WIN32
24 /* This code is for win32 only */
25 # if !defined(_WIN32_WINNT)
26 # define _WIN32_WINNT 0x0501
27 # endif
28 #include <winsock2.h>
29 #include <ws2tcpip.h>
30 #include <windows.h>
31 #include <process.h>
32 #include "winhttp.h"
33
34
+1 -1
--- test/tester.tcl
+++ test/tester.tcl
@@ -720,11 +720,11 @@
720720
lappend ignored_test $name
721721
} else {
722722
protOut "test $name FAILED!" 1
723723
if {$::QUIET} {protOut "RESULT: $RESULT" 1}
724724
lappend bad_test $name
725
- if {$::HALT} exit
725
+ if {$::HALT} {exit 1}
726726
}
727727
}
728728
}
729729
set bad_test {}
730730
set ignored_test {}
731731
--- test/tester.tcl
+++ test/tester.tcl
@@ -720,11 +720,11 @@
720 lappend ignored_test $name
721 } else {
722 protOut "test $name FAILED!" 1
723 if {$::QUIET} {protOut "RESULT: $RESULT" 1}
724 lappend bad_test $name
725 if {$::HALT} exit
726 }
727 }
728 }
729 set bad_test {}
730 set ignored_test {}
731
--- test/tester.tcl
+++ test/tester.tcl
@@ -720,11 +720,11 @@
720 lappend ignored_test $name
721 } else {
722 protOut "test $name FAILED!" 1
723 if {$::QUIET} {protOut "RESULT: $RESULT" 1}
724 lappend bad_test $name
725 if {$::HALT} {exit 1}
726 }
727 }
728 }
729 set bad_test {}
730 set ignored_test {}
731
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -407,10 +407,14 @@
407407
LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
408408
endif
409409
else
410410
LIB += -lkernel32 -lws2_32
411411
endif
412
+
413
+#### Library required for DNS lookups.
414
+#
415
+LIB += -ldnsapi
412416
413417
#### Tcl shell for use in running the fossil test suite. This is only
414418
# used for testing.
415419
#
416420
TCLSH = tclsh
@@ -435,10 +439,11 @@
435439
436440
SRC = \
437441
$(SRCDIR)/add.c \
438442
$(SRCDIR)/allrepo.c \
439443
$(SRCDIR)/attach.c \
444
+ $(SRCDIR)/backoffice.c \
440445
$(SRCDIR)/bag.c \
441446
$(SRCDIR)/bisect.c \
442447
$(SRCDIR)/blob.c \
443448
$(SRCDIR)/branch.c \
444449
$(SRCDIR)/browse.c \
@@ -461,17 +466,19 @@
461466
$(SRCDIR)/descendants.c \
462467
$(SRCDIR)/diff.c \
463468
$(SRCDIR)/diffcmd.c \
464469
$(SRCDIR)/dispatch.c \
465470
$(SRCDIR)/doc.c \
471
+ $(SRCDIR)/email.c \
466472
$(SRCDIR)/encode.c \
467473
$(SRCDIR)/etag.c \
468474
$(SRCDIR)/event.c \
469475
$(SRCDIR)/export.c \
470476
$(SRCDIR)/file.c \
471477
$(SRCDIR)/finfo.c \
472478
$(SRCDIR)/foci.c \
479
+ $(SRCDIR)/forum.c \
473480
$(SRCDIR)/fshell.c \
474481
$(SRCDIR)/fusefs.c \
475482
$(SRCDIR)/glob.c \
476483
$(SRCDIR)/graph.c \
477484
$(SRCDIR)/gzip.c \
@@ -530,10 +537,11 @@
530537
$(SRCDIR)/sha1hard.c \
531538
$(SRCDIR)/sha3.c \
532539
$(SRCDIR)/shun.c \
533540
$(SRCDIR)/sitemap.c \
534541
$(SRCDIR)/skins.c \
542
+ $(SRCDIR)/smtp.c \
535543
$(SRCDIR)/sqlcmd.c \
536544
$(SRCDIR)/stash.c \
537545
$(SRCDIR)/stat.c \
538546
$(SRCDIR)/statrep.c \
539547
$(SRCDIR)/style.c \
@@ -552,10 +560,11 @@
552560
$(SRCDIR)/user.c \
553561
$(SRCDIR)/utf8.c \
554562
$(SRCDIR)/util.c \
555563
$(SRCDIR)/verify.c \
556564
$(SRCDIR)/vfile.c \
565
+ $(SRCDIR)/webmail.c \
557566
$(SRCDIR)/wiki.c \
558567
$(SRCDIR)/wikiformat.c \
559568
$(SRCDIR)/winfile.c \
560569
$(SRCDIR)/winhttp.c \
561570
$(SRCDIR)/wysiwyg.c \
@@ -636,10 +645,11 @@
636645
637646
TRANS_SRC = \
638647
$(OBJDIR)/add_.c \
639648
$(OBJDIR)/allrepo_.c \
640649
$(OBJDIR)/attach_.c \
650
+ $(OBJDIR)/backoffice_.c \
641651
$(OBJDIR)/bag_.c \
642652
$(OBJDIR)/bisect_.c \
643653
$(OBJDIR)/blob_.c \
644654
$(OBJDIR)/branch_.c \
645655
$(OBJDIR)/browse_.c \
@@ -662,17 +672,19 @@
662672
$(OBJDIR)/descendants_.c \
663673
$(OBJDIR)/diff_.c \
664674
$(OBJDIR)/diffcmd_.c \
665675
$(OBJDIR)/dispatch_.c \
666676
$(OBJDIR)/doc_.c \
677
+ $(OBJDIR)/email_.c \
667678
$(OBJDIR)/encode_.c \
668679
$(OBJDIR)/etag_.c \
669680
$(OBJDIR)/event_.c \
670681
$(OBJDIR)/export_.c \
671682
$(OBJDIR)/file_.c \
672683
$(OBJDIR)/finfo_.c \
673684
$(OBJDIR)/foci_.c \
685
+ $(OBJDIR)/forum_.c \
674686
$(OBJDIR)/fshell_.c \
675687
$(OBJDIR)/fusefs_.c \
676688
$(OBJDIR)/glob_.c \
677689
$(OBJDIR)/graph_.c \
678690
$(OBJDIR)/gzip_.c \
@@ -731,10 +743,11 @@
731743
$(OBJDIR)/sha1hard_.c \
732744
$(OBJDIR)/sha3_.c \
733745
$(OBJDIR)/shun_.c \
734746
$(OBJDIR)/sitemap_.c \
735747
$(OBJDIR)/skins_.c \
748
+ $(OBJDIR)/smtp_.c \
736749
$(OBJDIR)/sqlcmd_.c \
737750
$(OBJDIR)/stash_.c \
738751
$(OBJDIR)/stat_.c \
739752
$(OBJDIR)/statrep_.c \
740753
$(OBJDIR)/style_.c \
@@ -753,10 +766,11 @@
753766
$(OBJDIR)/user_.c \
754767
$(OBJDIR)/utf8_.c \
755768
$(OBJDIR)/util_.c \
756769
$(OBJDIR)/verify_.c \
757770
$(OBJDIR)/vfile_.c \
771
+ $(OBJDIR)/webmail_.c \
758772
$(OBJDIR)/wiki_.c \
759773
$(OBJDIR)/wikiformat_.c \
760774
$(OBJDIR)/winfile_.c \
761775
$(OBJDIR)/winhttp_.c \
762776
$(OBJDIR)/wysiwyg_.c \
@@ -766,10 +780,11 @@
766780
767781
OBJ = \
768782
$(OBJDIR)/add.o \
769783
$(OBJDIR)/allrepo.o \
770784
$(OBJDIR)/attach.o \
785
+ $(OBJDIR)/backoffice.o \
771786
$(OBJDIR)/bag.o \
772787
$(OBJDIR)/bisect.o \
773788
$(OBJDIR)/blob.o \
774789
$(OBJDIR)/branch.o \
775790
$(OBJDIR)/browse.o \
@@ -792,17 +807,19 @@
792807
$(OBJDIR)/descendants.o \
793808
$(OBJDIR)/diff.o \
794809
$(OBJDIR)/diffcmd.o \
795810
$(OBJDIR)/dispatch.o \
796811
$(OBJDIR)/doc.o \
812
+ $(OBJDIR)/email.o \
797813
$(OBJDIR)/encode.o \
798814
$(OBJDIR)/etag.o \
799815
$(OBJDIR)/event.o \
800816
$(OBJDIR)/export.o \
801817
$(OBJDIR)/file.o \
802818
$(OBJDIR)/finfo.o \
803819
$(OBJDIR)/foci.o \
820
+ $(OBJDIR)/forum.o \
804821
$(OBJDIR)/fshell.o \
805822
$(OBJDIR)/fusefs.o \
806823
$(OBJDIR)/glob.o \
807824
$(OBJDIR)/graph.o \
808825
$(OBJDIR)/gzip.o \
@@ -861,10 +878,11 @@
861878
$(OBJDIR)/sha1hard.o \
862879
$(OBJDIR)/sha3.o \
863880
$(OBJDIR)/shun.o \
864881
$(OBJDIR)/sitemap.o \
865882
$(OBJDIR)/skins.o \
883
+ $(OBJDIR)/smtp.o \
866884
$(OBJDIR)/sqlcmd.o \
867885
$(OBJDIR)/stash.o \
868886
$(OBJDIR)/stat.o \
869887
$(OBJDIR)/statrep.o \
870888
$(OBJDIR)/style.o \
@@ -883,10 +901,11 @@
883901
$(OBJDIR)/user.o \
884902
$(OBJDIR)/utf8.o \
885903
$(OBJDIR)/util.o \
886904
$(OBJDIR)/verify.o \
887905
$(OBJDIR)/vfile.o \
906
+ $(OBJDIR)/webmail.o \
888907
$(OBJDIR)/wiki.o \
889908
$(OBJDIR)/wikiformat.o \
890909
$(OBJDIR)/winfile.o \
891910
$(OBJDIR)/winhttp.o \
892911
$(OBJDIR)/wysiwyg.o \
@@ -1115,10 +1134,11 @@
11151134
11161135
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/default_css.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
11171136
$(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
11181137
$(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
11191138
$(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
1139
+ $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \
11201140
$(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
11211141
$(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
11221142
$(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
11231143
$(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
11241144
$(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
@@ -1141,17 +1161,19 @@
11411161
$(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h \
11421162
$(OBJDIR)/diff_.c:$(OBJDIR)/diff.h \
11431163
$(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h \
11441164
$(OBJDIR)/dispatch_.c:$(OBJDIR)/dispatch.h \
11451165
$(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \
1166
+ $(OBJDIR)/email_.c:$(OBJDIR)/email.h \
11461167
$(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \
11471168
$(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \
11481169
$(OBJDIR)/event_.c:$(OBJDIR)/event.h \
11491170
$(OBJDIR)/export_.c:$(OBJDIR)/export.h \
11501171
$(OBJDIR)/file_.c:$(OBJDIR)/file.h \
11511172
$(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
11521173
$(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
1174
+ $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
11531175
$(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
11541176
$(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
11551177
$(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
11561178
$(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
11571179
$(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1210,10 +1232,11 @@
12101232
$(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
12111233
$(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
12121234
$(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
12131235
$(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
12141236
$(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
1237
+ $(OBJDIR)/smtp_.c:$(OBJDIR)/smtp.h \
12151238
$(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
12161239
$(OBJDIR)/stash_.c:$(OBJDIR)/stash.h \
12171240
$(OBJDIR)/stat_.c:$(OBJDIR)/stat.h \
12181241
$(OBJDIR)/statrep_.c:$(OBJDIR)/statrep.h \
12191242
$(OBJDIR)/style_.c:$(OBJDIR)/style.h \
@@ -1232,10 +1255,11 @@
12321255
$(OBJDIR)/user_.c:$(OBJDIR)/user.h \
12331256
$(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \
12341257
$(OBJDIR)/util_.c:$(OBJDIR)/util.h \
12351258
$(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
12361259
$(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
1260
+ $(OBJDIR)/webmail_.c:$(OBJDIR)/webmail.h \
12371261
$(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
12381262
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
12391263
$(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
12401264
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
12411265
$(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
@@ -1272,10 +1296,18 @@
12721296
12731297
$(OBJDIR)/attach.o: $(OBJDIR)/attach_.c $(OBJDIR)/attach.h $(SRCDIR)/config.h
12741298
$(XTCC) -o $(OBJDIR)/attach.o -c $(OBJDIR)/attach_.c
12751299
12761300
$(OBJDIR)/attach.h: $(OBJDIR)/headers
1301
+
1302
+$(OBJDIR)/backoffice_.c: $(SRCDIR)/backoffice.c $(TRANSLATE)
1303
+ $(TRANSLATE) $(SRCDIR)/backoffice.c >$@
1304
+
1305
+$(OBJDIR)/backoffice.o: $(OBJDIR)/backoffice_.c $(OBJDIR)/backoffice.h $(SRCDIR)/config.h
1306
+ $(XTCC) -o $(OBJDIR)/backoffice.o -c $(OBJDIR)/backoffice_.c
1307
+
1308
+$(OBJDIR)/backoffice.h: $(OBJDIR)/headers
12771309
12781310
$(OBJDIR)/bag_.c: $(SRCDIR)/bag.c $(TRANSLATE)
12791311
$(TRANSLATE) $(SRCDIR)/bag.c >$@
12801312
12811313
$(OBJDIR)/bag.o: $(OBJDIR)/bag_.c $(OBJDIR)/bag.h $(SRCDIR)/config.h
@@ -1480,10 +1512,18 @@
14801512
14811513
$(OBJDIR)/doc.o: $(OBJDIR)/doc_.c $(OBJDIR)/doc.h $(SRCDIR)/config.h
14821514
$(XTCC) -o $(OBJDIR)/doc.o -c $(OBJDIR)/doc_.c
14831515
14841516
$(OBJDIR)/doc.h: $(OBJDIR)/headers
1517
+
1518
+$(OBJDIR)/email_.c: $(SRCDIR)/email.c $(TRANSLATE)
1519
+ $(TRANSLATE) $(SRCDIR)/email.c >$@
1520
+
1521
+$(OBJDIR)/email.o: $(OBJDIR)/email_.c $(OBJDIR)/email.h $(SRCDIR)/config.h
1522
+ $(XTCC) -o $(OBJDIR)/email.o -c $(OBJDIR)/email_.c
1523
+
1524
+$(OBJDIR)/email.h: $(OBJDIR)/headers
14851525
14861526
$(OBJDIR)/encode_.c: $(SRCDIR)/encode.c $(TRANSLATE)
14871527
$(TRANSLATE) $(SRCDIR)/encode.c >$@
14881528
14891529
$(OBJDIR)/encode.o: $(OBJDIR)/encode_.c $(OBJDIR)/encode.h $(SRCDIR)/config.h
@@ -1536,10 +1576,18 @@
15361576
15371577
$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
15381578
$(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
15391579
15401580
$(OBJDIR)/foci.h: $(OBJDIR)/headers
1581
+
1582
+$(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(TRANSLATE)
1583
+ $(TRANSLATE) $(SRCDIR)/forum.c >$@
1584
+
1585
+$(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1586
+ $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1587
+
1588
+$(OBJDIR)/forum.h: $(OBJDIR)/headers
15411589
15421590
$(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(TRANSLATE)
15431591
$(TRANSLATE) $(SRCDIR)/fshell.c >$@
15441592
15451593
$(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
@@ -2032,10 +2080,18 @@
20322080
20332081
$(OBJDIR)/skins.o: $(OBJDIR)/skins_.c $(OBJDIR)/skins.h $(SRCDIR)/config.h
20342082
$(XTCC) -o $(OBJDIR)/skins.o -c $(OBJDIR)/skins_.c
20352083
20362084
$(OBJDIR)/skins.h: $(OBJDIR)/headers
2085
+
2086
+$(OBJDIR)/smtp_.c: $(SRCDIR)/smtp.c $(TRANSLATE)
2087
+ $(TRANSLATE) $(SRCDIR)/smtp.c >$@
2088
+
2089
+$(OBJDIR)/smtp.o: $(OBJDIR)/smtp_.c $(OBJDIR)/smtp.h $(SRCDIR)/config.h
2090
+ $(XTCC) -o $(OBJDIR)/smtp.o -c $(OBJDIR)/smtp_.c
2091
+
2092
+$(OBJDIR)/smtp.h: $(OBJDIR)/headers
20372093
20382094
$(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(TRANSLATE)
20392095
$(TRANSLATE) $(SRCDIR)/sqlcmd.c >$@
20402096
20412097
$(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(SRCDIR)/config.h
@@ -2208,10 +2264,18 @@
22082264
22092265
$(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h
22102266
$(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c
22112267
22122268
$(OBJDIR)/vfile.h: $(OBJDIR)/headers
2269
+
2270
+$(OBJDIR)/webmail_.c: $(SRCDIR)/webmail.c $(TRANSLATE)
2271
+ $(TRANSLATE) $(SRCDIR)/webmail.c >$@
2272
+
2273
+$(OBJDIR)/webmail.o: $(OBJDIR)/webmail_.c $(OBJDIR)/webmail.h $(SRCDIR)/config.h
2274
+ $(XTCC) -o $(OBJDIR)/webmail.o -c $(OBJDIR)/webmail_.c
2275
+
2276
+$(OBJDIR)/webmail.h: $(OBJDIR)/headers
22132277
22142278
$(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(TRANSLATE)
22152279
$(TRANSLATE) $(SRCDIR)/wiki.c >$@
22162280
22172281
$(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h
22182282
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -407,10 +407,14 @@
407 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
408 endif
409 else
410 LIB += -lkernel32 -lws2_32
411 endif
 
 
 
 
412
413 #### Tcl shell for use in running the fossil test suite. This is only
414 # used for testing.
415 #
416 TCLSH = tclsh
@@ -435,10 +439,11 @@
435
436 SRC = \
437 $(SRCDIR)/add.c \
438 $(SRCDIR)/allrepo.c \
439 $(SRCDIR)/attach.c \
 
440 $(SRCDIR)/bag.c \
441 $(SRCDIR)/bisect.c \
442 $(SRCDIR)/blob.c \
443 $(SRCDIR)/branch.c \
444 $(SRCDIR)/browse.c \
@@ -461,17 +466,19 @@
461 $(SRCDIR)/descendants.c \
462 $(SRCDIR)/diff.c \
463 $(SRCDIR)/diffcmd.c \
464 $(SRCDIR)/dispatch.c \
465 $(SRCDIR)/doc.c \
 
466 $(SRCDIR)/encode.c \
467 $(SRCDIR)/etag.c \
468 $(SRCDIR)/event.c \
469 $(SRCDIR)/export.c \
470 $(SRCDIR)/file.c \
471 $(SRCDIR)/finfo.c \
472 $(SRCDIR)/foci.c \
 
473 $(SRCDIR)/fshell.c \
474 $(SRCDIR)/fusefs.c \
475 $(SRCDIR)/glob.c \
476 $(SRCDIR)/graph.c \
477 $(SRCDIR)/gzip.c \
@@ -530,10 +537,11 @@
530 $(SRCDIR)/sha1hard.c \
531 $(SRCDIR)/sha3.c \
532 $(SRCDIR)/shun.c \
533 $(SRCDIR)/sitemap.c \
534 $(SRCDIR)/skins.c \
 
535 $(SRCDIR)/sqlcmd.c \
536 $(SRCDIR)/stash.c \
537 $(SRCDIR)/stat.c \
538 $(SRCDIR)/statrep.c \
539 $(SRCDIR)/style.c \
@@ -552,10 +560,11 @@
552 $(SRCDIR)/user.c \
553 $(SRCDIR)/utf8.c \
554 $(SRCDIR)/util.c \
555 $(SRCDIR)/verify.c \
556 $(SRCDIR)/vfile.c \
 
557 $(SRCDIR)/wiki.c \
558 $(SRCDIR)/wikiformat.c \
559 $(SRCDIR)/winfile.c \
560 $(SRCDIR)/winhttp.c \
561 $(SRCDIR)/wysiwyg.c \
@@ -636,10 +645,11 @@
636
637 TRANS_SRC = \
638 $(OBJDIR)/add_.c \
639 $(OBJDIR)/allrepo_.c \
640 $(OBJDIR)/attach_.c \
 
641 $(OBJDIR)/bag_.c \
642 $(OBJDIR)/bisect_.c \
643 $(OBJDIR)/blob_.c \
644 $(OBJDIR)/branch_.c \
645 $(OBJDIR)/browse_.c \
@@ -662,17 +672,19 @@
662 $(OBJDIR)/descendants_.c \
663 $(OBJDIR)/diff_.c \
664 $(OBJDIR)/diffcmd_.c \
665 $(OBJDIR)/dispatch_.c \
666 $(OBJDIR)/doc_.c \
 
667 $(OBJDIR)/encode_.c \
668 $(OBJDIR)/etag_.c \
669 $(OBJDIR)/event_.c \
670 $(OBJDIR)/export_.c \
671 $(OBJDIR)/file_.c \
672 $(OBJDIR)/finfo_.c \
673 $(OBJDIR)/foci_.c \
 
674 $(OBJDIR)/fshell_.c \
675 $(OBJDIR)/fusefs_.c \
676 $(OBJDIR)/glob_.c \
677 $(OBJDIR)/graph_.c \
678 $(OBJDIR)/gzip_.c \
@@ -731,10 +743,11 @@
731 $(OBJDIR)/sha1hard_.c \
732 $(OBJDIR)/sha3_.c \
733 $(OBJDIR)/shun_.c \
734 $(OBJDIR)/sitemap_.c \
735 $(OBJDIR)/skins_.c \
 
736 $(OBJDIR)/sqlcmd_.c \
737 $(OBJDIR)/stash_.c \
738 $(OBJDIR)/stat_.c \
739 $(OBJDIR)/statrep_.c \
740 $(OBJDIR)/style_.c \
@@ -753,10 +766,11 @@
753 $(OBJDIR)/user_.c \
754 $(OBJDIR)/utf8_.c \
755 $(OBJDIR)/util_.c \
756 $(OBJDIR)/verify_.c \
757 $(OBJDIR)/vfile_.c \
 
758 $(OBJDIR)/wiki_.c \
759 $(OBJDIR)/wikiformat_.c \
760 $(OBJDIR)/winfile_.c \
761 $(OBJDIR)/winhttp_.c \
762 $(OBJDIR)/wysiwyg_.c \
@@ -766,10 +780,11 @@
766
767 OBJ = \
768 $(OBJDIR)/add.o \
769 $(OBJDIR)/allrepo.o \
770 $(OBJDIR)/attach.o \
 
771 $(OBJDIR)/bag.o \
772 $(OBJDIR)/bisect.o \
773 $(OBJDIR)/blob.o \
774 $(OBJDIR)/branch.o \
775 $(OBJDIR)/browse.o \
@@ -792,17 +807,19 @@
792 $(OBJDIR)/descendants.o \
793 $(OBJDIR)/diff.o \
794 $(OBJDIR)/diffcmd.o \
795 $(OBJDIR)/dispatch.o \
796 $(OBJDIR)/doc.o \
 
797 $(OBJDIR)/encode.o \
798 $(OBJDIR)/etag.o \
799 $(OBJDIR)/event.o \
800 $(OBJDIR)/export.o \
801 $(OBJDIR)/file.o \
802 $(OBJDIR)/finfo.o \
803 $(OBJDIR)/foci.o \
 
804 $(OBJDIR)/fshell.o \
805 $(OBJDIR)/fusefs.o \
806 $(OBJDIR)/glob.o \
807 $(OBJDIR)/graph.o \
808 $(OBJDIR)/gzip.o \
@@ -861,10 +878,11 @@
861 $(OBJDIR)/sha1hard.o \
862 $(OBJDIR)/sha3.o \
863 $(OBJDIR)/shun.o \
864 $(OBJDIR)/sitemap.o \
865 $(OBJDIR)/skins.o \
 
866 $(OBJDIR)/sqlcmd.o \
867 $(OBJDIR)/stash.o \
868 $(OBJDIR)/stat.o \
869 $(OBJDIR)/statrep.o \
870 $(OBJDIR)/style.o \
@@ -883,10 +901,11 @@
883 $(OBJDIR)/user.o \
884 $(OBJDIR)/utf8.o \
885 $(OBJDIR)/util.o \
886 $(OBJDIR)/verify.o \
887 $(OBJDIR)/vfile.o \
 
888 $(OBJDIR)/wiki.o \
889 $(OBJDIR)/wikiformat.o \
890 $(OBJDIR)/winfile.o \
891 $(OBJDIR)/winhttp.o \
892 $(OBJDIR)/wysiwyg.o \
@@ -1115,10 +1134,11 @@
1115
1116 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/default_css.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
1117 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
1118 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
1119 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
 
1120 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
1121 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
1122 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
1123 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
1124 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
@@ -1141,17 +1161,19 @@
1141 $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h \
1142 $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h \
1143 $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h \
1144 $(OBJDIR)/dispatch_.c:$(OBJDIR)/dispatch.h \
1145 $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \
 
1146 $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \
1147 $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \
1148 $(OBJDIR)/event_.c:$(OBJDIR)/event.h \
1149 $(OBJDIR)/export_.c:$(OBJDIR)/export.h \
1150 $(OBJDIR)/file_.c:$(OBJDIR)/file.h \
1151 $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
1152 $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
 
1153 $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
1154 $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
1155 $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
1156 $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
1157 $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1210,10 +1232,11 @@
1210 $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
1211 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
1212 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
1213 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
1214 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
 
1215 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
1216 $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h \
1217 $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h \
1218 $(OBJDIR)/statrep_.c:$(OBJDIR)/statrep.h \
1219 $(OBJDIR)/style_.c:$(OBJDIR)/style.h \
@@ -1232,10 +1255,11 @@
1232 $(OBJDIR)/user_.c:$(OBJDIR)/user.h \
1233 $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \
1234 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
1235 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
1236 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
 
1237 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
1238 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1239 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1240 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1241 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
@@ -1272,10 +1296,18 @@
1272
1273 $(OBJDIR)/attach.o: $(OBJDIR)/attach_.c $(OBJDIR)/attach.h $(SRCDIR)/config.h
1274 $(XTCC) -o $(OBJDIR)/attach.o -c $(OBJDIR)/attach_.c
1275
1276 $(OBJDIR)/attach.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1277
1278 $(OBJDIR)/bag_.c: $(SRCDIR)/bag.c $(TRANSLATE)
1279 $(TRANSLATE) $(SRCDIR)/bag.c >$@
1280
1281 $(OBJDIR)/bag.o: $(OBJDIR)/bag_.c $(OBJDIR)/bag.h $(SRCDIR)/config.h
@@ -1480,10 +1512,18 @@
1480
1481 $(OBJDIR)/doc.o: $(OBJDIR)/doc_.c $(OBJDIR)/doc.h $(SRCDIR)/config.h
1482 $(XTCC) -o $(OBJDIR)/doc.o -c $(OBJDIR)/doc_.c
1483
1484 $(OBJDIR)/doc.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1485
1486 $(OBJDIR)/encode_.c: $(SRCDIR)/encode.c $(TRANSLATE)
1487 $(TRANSLATE) $(SRCDIR)/encode.c >$@
1488
1489 $(OBJDIR)/encode.o: $(OBJDIR)/encode_.c $(OBJDIR)/encode.h $(SRCDIR)/config.h
@@ -1536,10 +1576,18 @@
1536
1537 $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
1538 $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
1539
1540 $(OBJDIR)/foci.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1541
1542 $(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(TRANSLATE)
1543 $(TRANSLATE) $(SRCDIR)/fshell.c >$@
1544
1545 $(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
@@ -2032,10 +2080,18 @@
2032
2033 $(OBJDIR)/skins.o: $(OBJDIR)/skins_.c $(OBJDIR)/skins.h $(SRCDIR)/config.h
2034 $(XTCC) -o $(OBJDIR)/skins.o -c $(OBJDIR)/skins_.c
2035
2036 $(OBJDIR)/skins.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2037
2038 $(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(TRANSLATE)
2039 $(TRANSLATE) $(SRCDIR)/sqlcmd.c >$@
2040
2041 $(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(SRCDIR)/config.h
@@ -2208,10 +2264,18 @@
2208
2209 $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h
2210 $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c
2211
2212 $(OBJDIR)/vfile.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2213
2214 $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(TRANSLATE)
2215 $(TRANSLATE) $(SRCDIR)/wiki.c >$@
2216
2217 $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h
2218
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -407,10 +407,14 @@
407 LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
408 endif
409 else
410 LIB += -lkernel32 -lws2_32
411 endif
412
413 #### Library required for DNS lookups.
414 #
415 LIB += -ldnsapi
416
417 #### Tcl shell for use in running the fossil test suite. This is only
418 # used for testing.
419 #
420 TCLSH = tclsh
@@ -435,10 +439,11 @@
439
440 SRC = \
441 $(SRCDIR)/add.c \
442 $(SRCDIR)/allrepo.c \
443 $(SRCDIR)/attach.c \
444 $(SRCDIR)/backoffice.c \
445 $(SRCDIR)/bag.c \
446 $(SRCDIR)/bisect.c \
447 $(SRCDIR)/blob.c \
448 $(SRCDIR)/branch.c \
449 $(SRCDIR)/browse.c \
@@ -461,17 +466,19 @@
466 $(SRCDIR)/descendants.c \
467 $(SRCDIR)/diff.c \
468 $(SRCDIR)/diffcmd.c \
469 $(SRCDIR)/dispatch.c \
470 $(SRCDIR)/doc.c \
471 $(SRCDIR)/email.c \
472 $(SRCDIR)/encode.c \
473 $(SRCDIR)/etag.c \
474 $(SRCDIR)/event.c \
475 $(SRCDIR)/export.c \
476 $(SRCDIR)/file.c \
477 $(SRCDIR)/finfo.c \
478 $(SRCDIR)/foci.c \
479 $(SRCDIR)/forum.c \
480 $(SRCDIR)/fshell.c \
481 $(SRCDIR)/fusefs.c \
482 $(SRCDIR)/glob.c \
483 $(SRCDIR)/graph.c \
484 $(SRCDIR)/gzip.c \
@@ -530,10 +537,11 @@
537 $(SRCDIR)/sha1hard.c \
538 $(SRCDIR)/sha3.c \
539 $(SRCDIR)/shun.c \
540 $(SRCDIR)/sitemap.c \
541 $(SRCDIR)/skins.c \
542 $(SRCDIR)/smtp.c \
543 $(SRCDIR)/sqlcmd.c \
544 $(SRCDIR)/stash.c \
545 $(SRCDIR)/stat.c \
546 $(SRCDIR)/statrep.c \
547 $(SRCDIR)/style.c \
@@ -552,10 +560,11 @@
560 $(SRCDIR)/user.c \
561 $(SRCDIR)/utf8.c \
562 $(SRCDIR)/util.c \
563 $(SRCDIR)/verify.c \
564 $(SRCDIR)/vfile.c \
565 $(SRCDIR)/webmail.c \
566 $(SRCDIR)/wiki.c \
567 $(SRCDIR)/wikiformat.c \
568 $(SRCDIR)/winfile.c \
569 $(SRCDIR)/winhttp.c \
570 $(SRCDIR)/wysiwyg.c \
@@ -636,10 +645,11 @@
645
646 TRANS_SRC = \
647 $(OBJDIR)/add_.c \
648 $(OBJDIR)/allrepo_.c \
649 $(OBJDIR)/attach_.c \
650 $(OBJDIR)/backoffice_.c \
651 $(OBJDIR)/bag_.c \
652 $(OBJDIR)/bisect_.c \
653 $(OBJDIR)/blob_.c \
654 $(OBJDIR)/branch_.c \
655 $(OBJDIR)/browse_.c \
@@ -662,17 +672,19 @@
672 $(OBJDIR)/descendants_.c \
673 $(OBJDIR)/diff_.c \
674 $(OBJDIR)/diffcmd_.c \
675 $(OBJDIR)/dispatch_.c \
676 $(OBJDIR)/doc_.c \
677 $(OBJDIR)/email_.c \
678 $(OBJDIR)/encode_.c \
679 $(OBJDIR)/etag_.c \
680 $(OBJDIR)/event_.c \
681 $(OBJDIR)/export_.c \
682 $(OBJDIR)/file_.c \
683 $(OBJDIR)/finfo_.c \
684 $(OBJDIR)/foci_.c \
685 $(OBJDIR)/forum_.c \
686 $(OBJDIR)/fshell_.c \
687 $(OBJDIR)/fusefs_.c \
688 $(OBJDIR)/glob_.c \
689 $(OBJDIR)/graph_.c \
690 $(OBJDIR)/gzip_.c \
@@ -731,10 +743,11 @@
743 $(OBJDIR)/sha1hard_.c \
744 $(OBJDIR)/sha3_.c \
745 $(OBJDIR)/shun_.c \
746 $(OBJDIR)/sitemap_.c \
747 $(OBJDIR)/skins_.c \
748 $(OBJDIR)/smtp_.c \
749 $(OBJDIR)/sqlcmd_.c \
750 $(OBJDIR)/stash_.c \
751 $(OBJDIR)/stat_.c \
752 $(OBJDIR)/statrep_.c \
753 $(OBJDIR)/style_.c \
@@ -753,10 +766,11 @@
766 $(OBJDIR)/user_.c \
767 $(OBJDIR)/utf8_.c \
768 $(OBJDIR)/util_.c \
769 $(OBJDIR)/verify_.c \
770 $(OBJDIR)/vfile_.c \
771 $(OBJDIR)/webmail_.c \
772 $(OBJDIR)/wiki_.c \
773 $(OBJDIR)/wikiformat_.c \
774 $(OBJDIR)/winfile_.c \
775 $(OBJDIR)/winhttp_.c \
776 $(OBJDIR)/wysiwyg_.c \
@@ -766,10 +780,11 @@
780
781 OBJ = \
782 $(OBJDIR)/add.o \
783 $(OBJDIR)/allrepo.o \
784 $(OBJDIR)/attach.o \
785 $(OBJDIR)/backoffice.o \
786 $(OBJDIR)/bag.o \
787 $(OBJDIR)/bisect.o \
788 $(OBJDIR)/blob.o \
789 $(OBJDIR)/branch.o \
790 $(OBJDIR)/browse.o \
@@ -792,17 +807,19 @@
807 $(OBJDIR)/descendants.o \
808 $(OBJDIR)/diff.o \
809 $(OBJDIR)/diffcmd.o \
810 $(OBJDIR)/dispatch.o \
811 $(OBJDIR)/doc.o \
812 $(OBJDIR)/email.o \
813 $(OBJDIR)/encode.o \
814 $(OBJDIR)/etag.o \
815 $(OBJDIR)/event.o \
816 $(OBJDIR)/export.o \
817 $(OBJDIR)/file.o \
818 $(OBJDIR)/finfo.o \
819 $(OBJDIR)/foci.o \
820 $(OBJDIR)/forum.o \
821 $(OBJDIR)/fshell.o \
822 $(OBJDIR)/fusefs.o \
823 $(OBJDIR)/glob.o \
824 $(OBJDIR)/graph.o \
825 $(OBJDIR)/gzip.o \
@@ -861,10 +878,11 @@
878 $(OBJDIR)/sha1hard.o \
879 $(OBJDIR)/sha3.o \
880 $(OBJDIR)/shun.o \
881 $(OBJDIR)/sitemap.o \
882 $(OBJDIR)/skins.o \
883 $(OBJDIR)/smtp.o \
884 $(OBJDIR)/sqlcmd.o \
885 $(OBJDIR)/stash.o \
886 $(OBJDIR)/stat.o \
887 $(OBJDIR)/statrep.o \
888 $(OBJDIR)/style.o \
@@ -883,10 +901,11 @@
901 $(OBJDIR)/user.o \
902 $(OBJDIR)/utf8.o \
903 $(OBJDIR)/util.o \
904 $(OBJDIR)/verify.o \
905 $(OBJDIR)/vfile.o \
906 $(OBJDIR)/webmail.o \
907 $(OBJDIR)/wiki.o \
908 $(OBJDIR)/wikiformat.o \
909 $(OBJDIR)/winfile.o \
910 $(OBJDIR)/winhttp.o \
911 $(OBJDIR)/wysiwyg.o \
@@ -1115,10 +1134,11 @@
1134
1135 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/default_css.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h
1136 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \
1137 $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \
1138 $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \
1139 $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \
1140 $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h \
1141 $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h \
1142 $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h \
1143 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
1144 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
@@ -1141,17 +1161,19 @@
1161 $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h \
1162 $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h \
1163 $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h \
1164 $(OBJDIR)/dispatch_.c:$(OBJDIR)/dispatch.h \
1165 $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \
1166 $(OBJDIR)/email_.c:$(OBJDIR)/email.h \
1167 $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \
1168 $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \
1169 $(OBJDIR)/event_.c:$(OBJDIR)/event.h \
1170 $(OBJDIR)/export_.c:$(OBJDIR)/export.h \
1171 $(OBJDIR)/file_.c:$(OBJDIR)/file.h \
1172 $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
1173 $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
1174 $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
1175 $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
1176 $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
1177 $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
1178 $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
1179 $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1210,10 +1232,11 @@
1232 $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
1233 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
1234 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
1235 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
1236 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
1237 $(OBJDIR)/smtp_.c:$(OBJDIR)/smtp.h \
1238 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
1239 $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h \
1240 $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h \
1241 $(OBJDIR)/statrep_.c:$(OBJDIR)/statrep.h \
1242 $(OBJDIR)/style_.c:$(OBJDIR)/style.h \
@@ -1232,10 +1255,11 @@
1255 $(OBJDIR)/user_.c:$(OBJDIR)/user.h \
1256 $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \
1257 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
1258 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
1259 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
1260 $(OBJDIR)/webmail_.c:$(OBJDIR)/webmail.h \
1261 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
1262 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1263 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1264 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1265 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
@@ -1272,10 +1296,18 @@
1296
1297 $(OBJDIR)/attach.o: $(OBJDIR)/attach_.c $(OBJDIR)/attach.h $(SRCDIR)/config.h
1298 $(XTCC) -o $(OBJDIR)/attach.o -c $(OBJDIR)/attach_.c
1299
1300 $(OBJDIR)/attach.h: $(OBJDIR)/headers
1301
1302 $(OBJDIR)/backoffice_.c: $(SRCDIR)/backoffice.c $(TRANSLATE)
1303 $(TRANSLATE) $(SRCDIR)/backoffice.c >$@
1304
1305 $(OBJDIR)/backoffice.o: $(OBJDIR)/backoffice_.c $(OBJDIR)/backoffice.h $(SRCDIR)/config.h
1306 $(XTCC) -o $(OBJDIR)/backoffice.o -c $(OBJDIR)/backoffice_.c
1307
1308 $(OBJDIR)/backoffice.h: $(OBJDIR)/headers
1309
1310 $(OBJDIR)/bag_.c: $(SRCDIR)/bag.c $(TRANSLATE)
1311 $(TRANSLATE) $(SRCDIR)/bag.c >$@
1312
1313 $(OBJDIR)/bag.o: $(OBJDIR)/bag_.c $(OBJDIR)/bag.h $(SRCDIR)/config.h
@@ -1480,10 +1512,18 @@
1512
1513 $(OBJDIR)/doc.o: $(OBJDIR)/doc_.c $(OBJDIR)/doc.h $(SRCDIR)/config.h
1514 $(XTCC) -o $(OBJDIR)/doc.o -c $(OBJDIR)/doc_.c
1515
1516 $(OBJDIR)/doc.h: $(OBJDIR)/headers
1517
1518 $(OBJDIR)/email_.c: $(SRCDIR)/email.c $(TRANSLATE)
1519 $(TRANSLATE) $(SRCDIR)/email.c >$@
1520
1521 $(OBJDIR)/email.o: $(OBJDIR)/email_.c $(OBJDIR)/email.h $(SRCDIR)/config.h
1522 $(XTCC) -o $(OBJDIR)/email.o -c $(OBJDIR)/email_.c
1523
1524 $(OBJDIR)/email.h: $(OBJDIR)/headers
1525
1526 $(OBJDIR)/encode_.c: $(SRCDIR)/encode.c $(TRANSLATE)
1527 $(TRANSLATE) $(SRCDIR)/encode.c >$@
1528
1529 $(OBJDIR)/encode.o: $(OBJDIR)/encode_.c $(OBJDIR)/encode.h $(SRCDIR)/config.h
@@ -1536,10 +1576,18 @@
1576
1577 $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
1578 $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
1579
1580 $(OBJDIR)/foci.h: $(OBJDIR)/headers
1581
1582 $(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(TRANSLATE)
1583 $(TRANSLATE) $(SRCDIR)/forum.c >$@
1584
1585 $(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1586 $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1587
1588 $(OBJDIR)/forum.h: $(OBJDIR)/headers
1589
1590 $(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(TRANSLATE)
1591 $(TRANSLATE) $(SRCDIR)/fshell.c >$@
1592
1593 $(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
@@ -2032,10 +2080,18 @@
2080
2081 $(OBJDIR)/skins.o: $(OBJDIR)/skins_.c $(OBJDIR)/skins.h $(SRCDIR)/config.h
2082 $(XTCC) -o $(OBJDIR)/skins.o -c $(OBJDIR)/skins_.c
2083
2084 $(OBJDIR)/skins.h: $(OBJDIR)/headers
2085
2086 $(OBJDIR)/smtp_.c: $(SRCDIR)/smtp.c $(TRANSLATE)
2087 $(TRANSLATE) $(SRCDIR)/smtp.c >$@
2088
2089 $(OBJDIR)/smtp.o: $(OBJDIR)/smtp_.c $(OBJDIR)/smtp.h $(SRCDIR)/config.h
2090 $(XTCC) -o $(OBJDIR)/smtp.o -c $(OBJDIR)/smtp_.c
2091
2092 $(OBJDIR)/smtp.h: $(OBJDIR)/headers
2093
2094 $(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(TRANSLATE)
2095 $(TRANSLATE) $(SRCDIR)/sqlcmd.c >$@
2096
2097 $(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(SRCDIR)/config.h
@@ -2208,10 +2264,18 @@
2264
2265 $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h
2266 $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c
2267
2268 $(OBJDIR)/vfile.h: $(OBJDIR)/headers
2269
2270 $(OBJDIR)/webmail_.c: $(SRCDIR)/webmail.c $(TRANSLATE)
2271 $(TRANSLATE) $(SRCDIR)/webmail.c >$@
2272
2273 $(OBJDIR)/webmail.o: $(OBJDIR)/webmail_.c $(OBJDIR)/webmail.h $(SRCDIR)/config.h
2274 $(XTCC) -o $(OBJDIR)/webmail.o -c $(OBJDIR)/webmail_.c
2275
2276 $(OBJDIR)/webmail.h: $(OBJDIR)/headers
2277
2278 $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(TRANSLATE)
2279 $(TRANSLATE) $(SRCDIR)/wiki.c >$@
2280
2281 $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h
2282
+55 -55
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513513
wysiwyg_.c \
514514
xfer_.c \
515515
xfersetup_.c \
516516
zip_.c
517517
518
-EXTRA_FILES = $(SRCDIR)\../skins/aht/details.txt \
519
- $(SRCDIR)\../skins/ardoise/css.txt \
520
- $(SRCDIR)\../skins/ardoise/details.txt \
521
- $(SRCDIR)\../skins/ardoise/footer.txt \
522
- $(SRCDIR)\../skins/ardoise/header.txt \
523
- $(SRCDIR)\../skins/black_and_white/css.txt \
524
- $(SRCDIR)\../skins/black_and_white/details.txt \
525
- $(SRCDIR)\../skins/black_and_white/footer.txt \
526
- $(SRCDIR)\../skins/black_and_white/header.txt \
527
- $(SRCDIR)\../skins/blitz/css.txt \
528
- $(SRCDIR)\../skins/blitz/details.txt \
529
- $(SRCDIR)\../skins/blitz/footer.txt \
530
- $(SRCDIR)\../skins/blitz/header.txt \
531
- $(SRCDIR)\../skins/blitz/ticket.txt \
532
- $(SRCDIR)\../skins/blitz_no_logo/css.txt \
533
- $(SRCDIR)\../skins/blitz_no_logo/details.txt \
534
- $(SRCDIR)\../skins/blitz_no_logo/footer.txt \
535
- $(SRCDIR)\../skins/blitz_no_logo/header.txt \
536
- $(SRCDIR)\../skins/blitz_no_logo/ticket.txt \
537
- $(SRCDIR)\../skins/bootstrap/css.txt \
538
- $(SRCDIR)\../skins/bootstrap/details.txt \
539
- $(SRCDIR)\../skins/bootstrap/footer.txt \
540
- $(SRCDIR)\../skins/bootstrap/header.txt \
541
- $(SRCDIR)\../skins/default/css.txt \
542
- $(SRCDIR)\../skins/default/details.txt \
543
- $(SRCDIR)\../skins/default/footer.txt \
544
- $(SRCDIR)\../skins/default/header.txt \
545
- $(SRCDIR)\../skins/eagle/css.txt \
546
- $(SRCDIR)\../skins/eagle/details.txt \
547
- $(SRCDIR)\../skins/eagle/footer.txt \
548
- $(SRCDIR)\../skins/eagle/header.txt \
549
- $(SRCDIR)\../skins/enhanced1/css.txt \
550
- $(SRCDIR)\../skins/enhanced1/details.txt \
551
- $(SRCDIR)\../skins/enhanced1/footer.txt \
552
- $(SRCDIR)\../skins/enhanced1/header.txt \
553
- $(SRCDIR)\../skins/khaki/css.txt \
554
- $(SRCDIR)\../skins/khaki/details.txt \
555
- $(SRCDIR)\../skins/khaki/footer.txt \
556
- $(SRCDIR)\../skins/khaki/header.txt \
557
- $(SRCDIR)\../skins/original/css.txt \
558
- $(SRCDIR)\../skins/original/details.txt \
559
- $(SRCDIR)\../skins/original/footer.txt \
560
- $(SRCDIR)\../skins/original/header.txt \
561
- $(SRCDIR)\../skins/plain_gray/css.txt \
562
- $(SRCDIR)\../skins/plain_gray/details.txt \
563
- $(SRCDIR)\../skins/plain_gray/footer.txt \
564
- $(SRCDIR)\../skins/plain_gray/header.txt \
565
- $(SRCDIR)\../skins/rounded1/css.txt \
566
- $(SRCDIR)\../skins/rounded1/details.txt \
567
- $(SRCDIR)\../skins/rounded1/footer.txt \
568
- $(SRCDIR)\../skins/rounded1/header.txt \
569
- $(SRCDIR)\../skins/xekri/css.txt \
570
- $(SRCDIR)\../skins/xekri/details.txt \
571
- $(SRCDIR)\../skins/xekri/footer.txt \
572
- $(SRCDIR)\../skins/xekri/header.txt \
518
+EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \
519
+ $(SRCDIR)\..\skins\ardoise\css.txt \
520
+ $(SRCDIR)\..\skins\ardoise\details.txt \
521
+ $(SRCDIR)\..\skins\ardoise\footer.txt \
522
+ $(SRCDIR)\..\skins\ardoise\header.txt \
523
+ $(SRCDIR)\..\skins\black_and_white\css.txt \
524
+ $(SRCDIR)\..\skins\black_and_white\details.txt \
525
+ $(SRCDIR)\..\skins\black_and_white\footer.txt \
526
+ $(SRCDIR)\..\skins\black_and_white\header.txt \
527
+ $(SRCDIR)\..\skins\blitz\css.txt \
528
+ $(SRCDIR)\..\skins\blitz\details.txt \
529
+ $(SRCDIR)\..\skins\blitz\footer.txt \
530
+ $(SRCDIR)\..\skins\blitz\header.txt \
531
+ $(SRCDIR)\..\skins\blitz\ticket.txt \
532
+ $(SRCDIR)\..\skins\blitz_no_logo\css.txt \
533
+ $(SRCDIR)\..\skins\blitz_no_logo\details.txt \
534
+ $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \
535
+ $(SRCDIR)\..\skins\blitz_no_logo\header.txt \
536
+ $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \
537
+ $(SRCDIR)\..\skins\bootstrap\css.txt \
538
+ $(SRCDIR)\..\skins\bootstrap\details.txt \
539
+ $(SRCDIR)\..\skins\bootstrap\footer.txt \
540
+ $(SRCDIR)\..\skins\bootstrap\header.txt \
541
+ $(SRCDIR)\..\skins\default\css.txt \
542
+ $(SRCDIR)\..\skins\default\details.txt \
543
+ $(SRCDIR)\..\skins\default\footer.txt \
544
+ $(SRCDIR)\..\skins\default\header.txt \
545
+ $(SRCDIR)\..\skins\eagle\css.txt \
546
+ $(SRCDIR)\..\skins\eagle\details.txt \
547
+ $(SRCDIR)\..\skins\eagle\footer.txt \
548
+ $(SRCDIR)\..\skins\eagle\header.txt \
549
+ $(SRCDIR)\..\skins\enhanced1\css.txt \
550
+ $(SRCDIR)\..\skins\enhanced1\details.txt \
551
+ $(SRCDIR)\..\skins\enhanced1\footer.txt \
552
+ $(SRCDIR)\..\skins\enhanced1\header.txt \
553
+ $(SRCDIR)\..\skins\khaki\css.txt \
554
+ $(SRCDIR)\..\skins\khaki\details.txt \
555
+ $(SRCDIR)\..\skins\khaki\footer.txt \
556
+ $(SRCDIR)\..\skins\khaki\header.txt \
557
+ $(SRCDIR)\..\skins\original\css.txt \
558
+ $(SRCDIR)\..\skins\original\details.txt \
559
+ $(SRCDIR)\..\skins\original\footer.txt \
560
+ $(SRCDIR)\..\skins\original\header.txt \
561
+ $(SRCDIR)\..\skins\plain_gray\css.txt \
562
+ $(SRCDIR)\..\skins\plain_gray\details.txt \
563
+ $(SRCDIR)\..\skins\plain_gray\footer.txt \
564
+ $(SRCDIR)\..\skins\plain_gray\header.txt \
565
+ $(SRCDIR)\..\skins\rounded1\css.txt \
566
+ $(SRCDIR)\..\skins\rounded1\details.txt \
567
+ $(SRCDIR)\..\skins\rounded1\footer.txt \
568
+ $(SRCDIR)\..\skins\rounded1\header.txt \
569
+ $(SRCDIR)\..\skins\xekri\css.txt \
570
+ $(SRCDIR)\..\skins\xekri\details.txt \
571
+ $(SRCDIR)\..\skins\xekri\footer.txt \
572
+ $(SRCDIR)\..\skins\xekri\header.txt \
573573
$(SRCDIR)\ci_edit.js \
574574
$(SRCDIR)\diff.tcl \
575575
$(SRCDIR)\forum.js \
576576
$(SRCDIR)\graph.js \
577577
$(SRCDIR)\href.js \
578578
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513 wysiwyg_.c \
514 xfer_.c \
515 xfersetup_.c \
516 zip_.c
517
518 EXTRA_FILES = $(SRCDIR)\../skins/aht/details.txt \
519 $(SRCDIR)\../skins/ardoise/css.txt \
520 $(SRCDIR)\../skins/ardoise/details.txt \
521 $(SRCDIR)\../skins/ardoise/footer.txt \
522 $(SRCDIR)\../skins/ardoise/header.txt \
523 $(SRCDIR)\../skins/black_and_white/css.txt \
524 $(SRCDIR)\../skins/black_and_white/details.txt \
525 $(SRCDIR)\../skins/black_and_white/footer.txt \
526 $(SRCDIR)\../skins/black_and_white/header.txt \
527 $(SRCDIR)\../skins/blitz/css.txt \
528 $(SRCDIR)\../skins/blitz/details.txt \
529 $(SRCDIR)\../skins/blitz/footer.txt \
530 $(SRCDIR)\../skins/blitz/header.txt \
531 $(SRCDIR)\../skins/blitz/ticket.txt \
532 $(SRCDIR)\../skins/blitz_no_logo/css.txt \
533 $(SRCDIR)\../skins/blitz_no_logo/details.txt \
534 $(SRCDIR)\../skins/blitz_no_logo/footer.txt \
535 $(SRCDIR)\../skins/blitz_no_logo/header.txt \
536 $(SRCDIR)\../skins/blitz_no_logo/ticket.txt \
537 $(SRCDIR)\../skins/bootstrap/css.txt \
538 $(SRCDIR)\../skins/bootstrap/details.txt \
539 $(SRCDIR)\../skins/bootstrap/footer.txt \
540 $(SRCDIR)\../skins/bootstrap/header.txt \
541 $(SRCDIR)\../skins/default/css.txt \
542 $(SRCDIR)\../skins/default/details.txt \
543 $(SRCDIR)\../skins/default/footer.txt \
544 $(SRCDIR)\../skins/default/header.txt \
545 $(SRCDIR)\../skins/eagle/css.txt \
546 $(SRCDIR)\../skins/eagle/details.txt \
547 $(SRCDIR)\../skins/eagle/footer.txt \
548 $(SRCDIR)\../skins/eagle/header.txt \
549 $(SRCDIR)\../skins/enhanced1/css.txt \
550 $(SRCDIR)\../skins/enhanced1/details.txt \
551 $(SRCDIR)\../skins/enhanced1/footer.txt \
552 $(SRCDIR)\../skins/enhanced1/header.txt \
553 $(SRCDIR)\../skins/khaki/css.txt \
554 $(SRCDIR)\../skins/khaki/details.txt \
555 $(SRCDIR)\../skins/khaki/footer.txt \
556 $(SRCDIR)\../skins/khaki/header.txt \
557 $(SRCDIR)\../skins/original/css.txt \
558 $(SRCDIR)\../skins/original/details.txt \
559 $(SRCDIR)\../skins/original/footer.txt \
560 $(SRCDIR)\../skins/original/header.txt \
561 $(SRCDIR)\../skins/plain_gray/css.txt \
562 $(SRCDIR)\../skins/plain_gray/details.txt \
563 $(SRCDIR)\../skins/plain_gray/footer.txt \
564 $(SRCDIR)\../skins/plain_gray/header.txt \
565 $(SRCDIR)\../skins/rounded1/css.txt \
566 $(SRCDIR)\../skins/rounded1/details.txt \
567 $(SRCDIR)\../skins/rounded1/footer.txt \
568 $(SRCDIR)\../skins/rounded1/header.txt \
569 $(SRCDIR)\../skins/xekri/css.txt \
570 $(SRCDIR)\../skins/xekri/details.txt \
571 $(SRCDIR)\../skins/xekri/footer.txt \
572 $(SRCDIR)\../skins/xekri/header.txt \
573 $(SRCDIR)\ci_edit.js \
574 $(SRCDIR)\diff.tcl \
575 $(SRCDIR)\forum.js \
576 $(SRCDIR)\graph.js \
577 $(SRCDIR)\href.js \
578
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513 wysiwyg_.c \
514 xfer_.c \
515 xfersetup_.c \
516 zip_.c
517
518 EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \
519 $(SRCDIR)\..\skins\ardoise\css.txt \
520 $(SRCDIR)\..\skins\ardoise\details.txt \
521 $(SRCDIR)\..\skins\ardoise\footer.txt \
522 $(SRCDIR)\..\skins\ardoise\header.txt \
523 $(SRCDIR)\..\skins\black_and_white\css.txt \
524 $(SRCDIR)\..\skins\black_and_white\details.txt \
525 $(SRCDIR)\..\skins\black_and_white\footer.txt \
526 $(SRCDIR)\..\skins\black_and_white\header.txt \
527 $(SRCDIR)\..\skins\blitz\css.txt \
528 $(SRCDIR)\..\skins\blitz\details.txt \
529 $(SRCDIR)\..\skins\blitz\footer.txt \
530 $(SRCDIR)\..\skins\blitz\header.txt \
531 $(SRCDIR)\..\skins\blitz\ticket.txt \
532 $(SRCDIR)\..\skins\blitz_no_logo\css.txt \
533 $(SRCDIR)\..\skins\blitz_no_logo\details.txt \
534 $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \
535 $(SRCDIR)\..\skins\blitz_no_logo\header.txt \
536 $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \
537 $(SRCDIR)\..\skins\bootstrap\css.txt \
538 $(SRCDIR)\..\skins\bootstrap\details.txt \
539 $(SRCDIR)\..\skins\bootstrap\footer.txt \
540 $(SRCDIR)\..\skins\bootstrap\header.txt \
541 $(SRCDIR)\..\skins\default\css.txt \
542 $(SRCDIR)\..\skins\default\details.txt \
543 $(SRCDIR)\..\skins\default\footer.txt \
544 $(SRCDIR)\..\skins\default\header.txt \
545 $(SRCDIR)\..\skins\eagle\css.txt \
546 $(SRCDIR)\..\skins\eagle\details.txt \
547 $(SRCDIR)\..\skins\eagle\footer.txt \
548 $(SRCDIR)\..\skins\eagle\header.txt \
549 $(SRCDIR)\..\skins\enhanced1\css.txt \
550 $(SRCDIR)\..\skins\enhanced1\details.txt \
551 $(SRCDIR)\..\skins\enhanced1\footer.txt \
552 $(SRCDIR)\..\skins\enhanced1\header.txt \
553 $(SRCDIR)\..\skins\khaki\css.txt \
554 $(SRCDIR)\..\skins\khaki\details.txt \
555 $(SRCDIR)\..\skins\khaki\footer.txt \
556 $(SRCDIR)\..\skins\khaki\header.txt \
557 $(SRCDIR)\..\skins\original\css.txt \
558 $(SRCDIR)\..\skins\original\details.txt \
559 $(SRCDIR)\..\skins\original\footer.txt \
560 $(SRCDIR)\..\skins\original\header.txt \
561 $(SRCDIR)\..\skins\plain_gray\css.txt \
562 $(SRCDIR)\..\skins\plain_gray\details.txt \
563 $(SRCDIR)\..\skins\plain_gray\footer.txt \
564 $(SRCDIR)\..\skins\plain_gray\header.txt \
565 $(SRCDIR)\..\skins\rounded1\css.txt \
566 $(SRCDIR)\..\skins\rounded1\details.txt \
567 $(SRCDIR)\..\skins\rounded1\footer.txt \
568 $(SRCDIR)\..\skins\rounded1\header.txt \
569 $(SRCDIR)\..\skins\xekri\css.txt \
570 $(SRCDIR)\..\skins\xekri\details.txt \
571 $(SRCDIR)\..\skins\xekri\footer.txt \
572 $(SRCDIR)\..\skins\xekri\header.txt \
573 $(SRCDIR)\ci_edit.js \
574 $(SRCDIR)\diff.tcl \
575 $(SRCDIR)\forum.js \
576 $(SRCDIR)\graph.js \
577 $(SRCDIR)\href.js \
578
+55 -55
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513513
wysiwyg_.c \
514514
xfer_.c \
515515
xfersetup_.c \
516516
zip_.c
517517
518
-EXTRA_FILES = $(SRCDIR)\../skins/aht/details.txt \
519
- $(SRCDIR)\../skins/ardoise/css.txt \
520
- $(SRCDIR)\../skins/ardoise/details.txt \
521
- $(SRCDIR)\../skins/ardoise/footer.txt \
522
- $(SRCDIR)\../skins/ardoise/header.txt \
523
- $(SRCDIR)\../skins/black_and_white/css.txt \
524
- $(SRCDIR)\../skins/black_and_white/details.txt \
525
- $(SRCDIR)\../skins/black_and_white/footer.txt \
526
- $(SRCDIR)\../skins/black_and_white/header.txt \
527
- $(SRCDIR)\../skins/blitz/css.txt \
528
- $(SRCDIR)\../skins/blitz/details.txt \
529
- $(SRCDIR)\../skins/blitz/footer.txt \
530
- $(SRCDIR)\../skins/blitz/header.txt \
531
- $(SRCDIR)\../skins/blitz/ticket.txt \
532
- $(SRCDIR)\../skins/blitz_no_logo/css.txt \
533
- $(SRCDIR)\../skins/blitz_no_logo/details.txt \
534
- $(SRCDIR)\../skins/blitz_no_logo/footer.txt \
535
- $(SRCDIR)\../skins/blitz_no_logo/header.txt \
536
- $(SRCDIR)\../skins/blitz_no_logo/ticket.txt \
537
- $(SRCDIR)\../skins/bootstrap/css.txt \
538
- $(SRCDIR)\../skins/bootstrap/details.txt \
539
- $(SRCDIR)\../skins/bootstrap/footer.txt \
540
- $(SRCDIR)\../skins/bootstrap/header.txt \
541
- $(SRCDIR)\../skins/default/css.txt \
542
- $(SRCDIR)\../skins/default/details.txt \
543
- $(SRCDIR)\../skins/default/footer.txt \
544
- $(SRCDIR)\../skins/default/header.txt \
545
- $(SRCDIR)\../skins/eagle/css.txt \
546
- $(SRCDIR)\../skins/eagle/details.txt \
547
- $(SRCDIR)\../skins/eagle/footer.txt \
548
- $(SRCDIR)\../skins/eagle/header.txt \
549
- $(SRCDIR)\../skins/enhanced1/css.txt \
550
- $(SRCDIR)\../skins/enhanced1/details.txt \
551
- $(SRCDIR)\../skins/enhanced1/footer.txt \
552
- $(SRCDIR)\../skins/enhanced1/header.txt \
553
- $(SRCDIR)\../skins/khaki/css.txt \
554
- $(SRCDIR)\../skins/khaki/details.txt \
555
- $(SRCDIR)\../skins/khaki/footer.txt \
556
- $(SRCDIR)\../skins/khaki/header.txt \
557
- $(SRCDIR)\../skins/original/css.txt \
558
- $(SRCDIR)\../skins/original/details.txt \
559
- $(SRCDIR)\../skins/original/footer.txt \
560
- $(SRCDIR)\../skins/original/header.txt \
561
- $(SRCDIR)\../skins/plain_gray/css.txt \
562
- $(SRCDIR)\../skins/plain_gray/details.txt \
563
- $(SRCDIR)\../skins/plain_gray/footer.txt \
564
- $(SRCDIR)\../skins/plain_gray/header.txt \
565
- $(SRCDIR)\../skins/rounded1/css.txt \
566
- $(SRCDIR)\../skins/rounded1/details.txt \
567
- $(SRCDIR)\../skins/rounded1/footer.txt \
568
- $(SRCDIR)\../skins/rounded1/header.txt \
569
- $(SRCDIR)\../skins/xekri/css.txt \
570
- $(SRCDIR)\../skins/xekri/details.txt \
571
- $(SRCDIR)\../skins/xekri/footer.txt \
572
- $(SRCDIR)\../skins/xekri/header.txt \
518
+EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \
519
+ $(SRCDIR)\..\skins\ardoise\css.txt \
520
+ $(SRCDIR)\..\skins\ardoise\details.txt \
521
+ $(SRCDIR)\..\skins\ardoise\footer.txt \
522
+ $(SRCDIR)\..\skins\ardoise\header.txt \
523
+ $(SRCDIR)\..\skins\black_and_white\css.txt \
524
+ $(SRCDIR)\..\skins\black_and_white\details.txt \
525
+ $(SRCDIR)\..\skins\black_and_white\footer.txt \
526
+ $(SRCDIR)\..\skins\black_and_white\header.txt \
527
+ $(SRCDIR)\..\skins\blitz\css.txt \
528
+ $(SRCDIR)\..\skins\blitz\details.txt \
529
+ $(SRCDIR)\..\skins\blitz\footer.txt \
530
+ $(SRCDIR)\..\skins\blitz\header.txt \
531
+ $(SRCDIR)\..\skins\blitz\ticket.txt \
532
+ $(SRCDIR)\..\skins\blitz_no_logo\css.txt \
533
+ $(SRCDIR)\..\skins\blitz_no_logo\details.txt \
534
+ $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \
535
+ $(SRCDIR)\..\skins\blitz_no_logo\header.txt \
536
+ $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \
537
+ $(SRCDIR)\..\skins\bootstrap\css.txt \
538
+ $(SRCDIR)\..\skins\bootstrap\details.txt \
539
+ $(SRCDIR)\..\skins\bootstrap\footer.txt \
540
+ $(SRCDIR)\..\skins\bootstrap\header.txt \
541
+ $(SRCDIR)\..\skins\default\css.txt \
542
+ $(SRCDIR)\..\skins\default\details.txt \
543
+ $(SRCDIR)\..\skins\default\footer.txt \
544
+ $(SRCDIR)\..\skins\default\header.txt \
545
+ $(SRCDIR)\..\skins\eagle\css.txt \
546
+ $(SRCDIR)\..\skins\eagle\details.txt \
547
+ $(SRCDIR)\..\skins\eagle\footer.txt \
548
+ $(SRCDIR)\..\skins\eagle\header.txt \
549
+ $(SRCDIR)\..\skins\enhanced1\css.txt \
550
+ $(SRCDIR)\..\skins\enhanced1\details.txt \
551
+ $(SRCDIR)\..\skins\enhanced1\footer.txt \
552
+ $(SRCDIR)\..\skins\enhanced1\header.txt \
553
+ $(SRCDIR)\..\skins\khaki\css.txt \
554
+ $(SRCDIR)\..\skins\khaki\details.txt \
555
+ $(SRCDIR)\..\skins\khaki\footer.txt \
556
+ $(SRCDIR)\..\skins\khaki\header.txt \
557
+ $(SRCDIR)\..\skins\original\css.txt \
558
+ $(SRCDIR)\..\skins\original\details.txt \
559
+ $(SRCDIR)\..\skins\original\footer.txt \
560
+ $(SRCDIR)\..\skins\original\header.txt \
561
+ $(SRCDIR)\..\skins\plain_gray\css.txt \
562
+ $(SRCDIR)\..\skins\plain_gray\details.txt \
563
+ $(SRCDIR)\..\skins\plain_gray\footer.txt \
564
+ $(SRCDIR)\..\skins\plain_gray\header.txt \
565
+ $(SRCDIR)\..\skins\rounded1\css.txt \
566
+ $(SRCDIR)\..\skins\rounded1\details.txt \
567
+ $(SRCDIR)\..\skins\rounded1\footer.txt \
568
+ $(SRCDIR)\..\skins\rounded1\header.txt \
569
+ $(SRCDIR)\..\skins\xekri\css.txt \
570
+ $(SRCDIR)\..\skins\xekri\details.txt \
571
+ $(SRCDIR)\..\skins\xekri\footer.txt \
572
+ $(SRCDIR)\..\skins\xekri\header.txt \
573573
$(SRCDIR)\ci_edit.js \
574574
$(SRCDIR)\diff.tcl \
575575
$(SRCDIR)\forum.js \
576576
$(SRCDIR)\graph.js \
577577
$(SRCDIR)\href.js \
578578
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513 wysiwyg_.c \
514 xfer_.c \
515 xfersetup_.c \
516 zip_.c
517
518 EXTRA_FILES = $(SRCDIR)\../skins/aht/details.txt \
519 $(SRCDIR)\../skins/ardoise/css.txt \
520 $(SRCDIR)\../skins/ardoise/details.txt \
521 $(SRCDIR)\../skins/ardoise/footer.txt \
522 $(SRCDIR)\../skins/ardoise/header.txt \
523 $(SRCDIR)\../skins/black_and_white/css.txt \
524 $(SRCDIR)\../skins/black_and_white/details.txt \
525 $(SRCDIR)\../skins/black_and_white/footer.txt \
526 $(SRCDIR)\../skins/black_and_white/header.txt \
527 $(SRCDIR)\../skins/blitz/css.txt \
528 $(SRCDIR)\../skins/blitz/details.txt \
529 $(SRCDIR)\../skins/blitz/footer.txt \
530 $(SRCDIR)\../skins/blitz/header.txt \
531 $(SRCDIR)\../skins/blitz/ticket.txt \
532 $(SRCDIR)\../skins/blitz_no_logo/css.txt \
533 $(SRCDIR)\../skins/blitz_no_logo/details.txt \
534 $(SRCDIR)\../skins/blitz_no_logo/footer.txt \
535 $(SRCDIR)\../skins/blitz_no_logo/header.txt \
536 $(SRCDIR)\../skins/blitz_no_logo/ticket.txt \
537 $(SRCDIR)\../skins/bootstrap/css.txt \
538 $(SRCDIR)\../skins/bootstrap/details.txt \
539 $(SRCDIR)\../skins/bootstrap/footer.txt \
540 $(SRCDIR)\../skins/bootstrap/header.txt \
541 $(SRCDIR)\../skins/default/css.txt \
542 $(SRCDIR)\../skins/default/details.txt \
543 $(SRCDIR)\../skins/default/footer.txt \
544 $(SRCDIR)\../skins/default/header.txt \
545 $(SRCDIR)\../skins/eagle/css.txt \
546 $(SRCDIR)\../skins/eagle/details.txt \
547 $(SRCDIR)\../skins/eagle/footer.txt \
548 $(SRCDIR)\../skins/eagle/header.txt \
549 $(SRCDIR)\../skins/enhanced1/css.txt \
550 $(SRCDIR)\../skins/enhanced1/details.txt \
551 $(SRCDIR)\../skins/enhanced1/footer.txt \
552 $(SRCDIR)\../skins/enhanced1/header.txt \
553 $(SRCDIR)\../skins/khaki/css.txt \
554 $(SRCDIR)\../skins/khaki/details.txt \
555 $(SRCDIR)\../skins/khaki/footer.txt \
556 $(SRCDIR)\../skins/khaki/header.txt \
557 $(SRCDIR)\../skins/original/css.txt \
558 $(SRCDIR)\../skins/original/details.txt \
559 $(SRCDIR)\../skins/original/footer.txt \
560 $(SRCDIR)\../skins/original/header.txt \
561 $(SRCDIR)\../skins/plain_gray/css.txt \
562 $(SRCDIR)\../skins/plain_gray/details.txt \
563 $(SRCDIR)\../skins/plain_gray/footer.txt \
564 $(SRCDIR)\../skins/plain_gray/header.txt \
565 $(SRCDIR)\../skins/rounded1/css.txt \
566 $(SRCDIR)\../skins/rounded1/details.txt \
567 $(SRCDIR)\../skins/rounded1/footer.txt \
568 $(SRCDIR)\../skins/rounded1/header.txt \
569 $(SRCDIR)\../skins/xekri/css.txt \
570 $(SRCDIR)\../skins/xekri/details.txt \
571 $(SRCDIR)\../skins/xekri/footer.txt \
572 $(SRCDIR)\../skins/xekri/header.txt \
573 $(SRCDIR)\ci_edit.js \
574 $(SRCDIR)\diff.tcl \
575 $(SRCDIR)\forum.js \
576 $(SRCDIR)\graph.js \
577 $(SRCDIR)\href.js \
578
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -513,65 +513,65 @@
513 wysiwyg_.c \
514 xfer_.c \
515 xfersetup_.c \
516 zip_.c
517
518 EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \
519 $(SRCDIR)\..\skins\ardoise\css.txt \
520 $(SRCDIR)\..\skins\ardoise\details.txt \
521 $(SRCDIR)\..\skins\ardoise\footer.txt \
522 $(SRCDIR)\..\skins\ardoise\header.txt \
523 $(SRCDIR)\..\skins\black_and_white\css.txt \
524 $(SRCDIR)\..\skins\black_and_white\details.txt \
525 $(SRCDIR)\..\skins\black_and_white\footer.txt \
526 $(SRCDIR)\..\skins\black_and_white\header.txt \
527 $(SRCDIR)\..\skins\blitz\css.txt \
528 $(SRCDIR)\..\skins\blitz\details.txt \
529 $(SRCDIR)\..\skins\blitz\footer.txt \
530 $(SRCDIR)\..\skins\blitz\header.txt \
531 $(SRCDIR)\..\skins\blitz\ticket.txt \
532 $(SRCDIR)\..\skins\blitz_no_logo\css.txt \
533 $(SRCDIR)\..\skins\blitz_no_logo\details.txt \
534 $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \
535 $(SRCDIR)\..\skins\blitz_no_logo\header.txt \
536 $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \
537 $(SRCDIR)\..\skins\bootstrap\css.txt \
538 $(SRCDIR)\..\skins\bootstrap\details.txt \
539 $(SRCDIR)\..\skins\bootstrap\footer.txt \
540 $(SRCDIR)\..\skins\bootstrap\header.txt \
541 $(SRCDIR)\..\skins\default\css.txt \
542 $(SRCDIR)\..\skins\default\details.txt \
543 $(SRCDIR)\..\skins\default\footer.txt \
544 $(SRCDIR)\..\skins\default\header.txt \
545 $(SRCDIR)\..\skins\eagle\css.txt \
546 $(SRCDIR)\..\skins\eagle\details.txt \
547 $(SRCDIR)\..\skins\eagle\footer.txt \
548 $(SRCDIR)\..\skins\eagle\header.txt \
549 $(SRCDIR)\..\skins\enhanced1\css.txt \
550 $(SRCDIR)\..\skins\enhanced1\details.txt \
551 $(SRCDIR)\..\skins\enhanced1\footer.txt \
552 $(SRCDIR)\..\skins\enhanced1\header.txt \
553 $(SRCDIR)\..\skins\khaki\css.txt \
554 $(SRCDIR)\..\skins\khaki\details.txt \
555 $(SRCDIR)\..\skins\khaki\footer.txt \
556 $(SRCDIR)\..\skins\khaki\header.txt \
557 $(SRCDIR)\..\skins\original\css.txt \
558 $(SRCDIR)\..\skins\original\details.txt \
559 $(SRCDIR)\..\skins\original\footer.txt \
560 $(SRCDIR)\..\skins\original\header.txt \
561 $(SRCDIR)\..\skins\plain_gray\css.txt \
562 $(SRCDIR)\..\skins\plain_gray\details.txt \
563 $(SRCDIR)\..\skins\plain_gray\footer.txt \
564 $(SRCDIR)\..\skins\plain_gray\header.txt \
565 $(SRCDIR)\..\skins\rounded1\css.txt \
566 $(SRCDIR)\..\skins\rounded1\details.txt \
567 $(SRCDIR)\..\skins\rounded1\footer.txt \
568 $(SRCDIR)\..\skins\rounded1\header.txt \
569 $(SRCDIR)\..\skins\xekri\css.txt \
570 $(SRCDIR)\..\skins\xekri\details.txt \
571 $(SRCDIR)\..\skins\xekri\footer.txt \
572 $(SRCDIR)\..\skins\xekri\header.txt \
573 $(SRCDIR)\ci_edit.js \
574 $(SRCDIR)\diff.tcl \
575 $(SRCDIR)\forum.js \
576 $(SRCDIR)\graph.js \
577 $(SRCDIR)\href.js \
578

Keyboard Shortcuts

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