Fossil SCM

This code demonstrates ideas on how to implement a Forum feature in Fossil. This is just ideas - it is not even a working prototype. This change was originally stashed, but then I thought it better to check it in on a branch for the historical record.

drh 2018-06-14 19:17 UTC trunk
Commit 1e3637392a6f23566f94662d3f0b720fc167fbdc4ddb488d569f3c9efc279a52
+38
--- a/src/forum.c
+++ b/src/forum.c
@@ -0,0 +1,38 @@
1
+/*
2
+** Copyright (c) 2018 D. Richard Hipp
3
+**
4
+** This program is free software; you can redistribute it and/or
5
+** modify it under the terms of the Simplified BSD License (also
6
+** known as the "2-Clause License" or "FreeBSD License".)
7
+**
8
+** This program is distributed in the hope that it will be useful,
9
+** but without any warranty; without even the implied warranty of
10
+** merchantability or fitness for a particular purpose.
11
+**
12
+** Author contact information:
13
+** [email protected]
14
+** http://www.hwaci.com/drh/
15
+**
16
+*******************************************************************************
17
+**
18
+** This file contains code used to generate the user forum.
19
+*/
20
+#include "config.h"
21
+#include <assert.h>
22
+#include "forum.h"
23
+
24
+/*
25
+** The schemect = 0;
26
+ int threadId;
27
+ doublt belongs
28
+@ uname TEXT, -- name of user
29
+@ mtime REAL, -- julian day number
30
+@ mstatus TEXT, -- status. NULL= db_column_text(&q, e -- Mimetype for mbody
31
+@ ipaddr TEXT, -- IP address of po1 -- IP address of post origin
32
+@ inreplyto INT, -- Parent posting
33
+@ mbody TEXT -- ('mod','ok')_x1 ON
34
+@ forumpost(inreplyto,mtime);
35
+@ CREATE TABLE repository.forumthreadorumpost.inreplyto=postdid INTEGER PRIMARY KEY,
36
+@ mthreadhash TEXT, -- uuid for this 0 class="forumtable"> or subject line
37
+@ mtime REAL, -- Most recent update
38
+@ npost INT threadid,inreplyto,mtime
--- a/src/forum.c
+++ b/src/forum.c
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/forum.c
+++ b/src/forum.c
@@ -0,0 +1,38 @@
1 /*
2 ** Copyright (c) 2018 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause License" or "FreeBSD License".)
7 **
8 ** This program is distributed in the hope that it will be useful,
9 ** but without any warranty; without even the implied warranty of
10 ** merchantability or fitness for a particular purpose.
11 **
12 ** Author contact information:
13 ** [email protected]
14 ** http://www.hwaci.com/drh/
15 **
16 *******************************************************************************
17 **
18 ** This file contains code used to generate the user forum.
19 */
20 #include "config.h"
21 #include <assert.h>
22 #include "forum.h"
23
24 /*
25 ** The schemect = 0;
26 int threadId;
27 doublt belongs
28 @ uname TEXT, -- name of user
29 @ mtime REAL, -- julian day number
30 @ mstatus TEXT, -- status. NULL= db_column_text(&q, e -- Mimetype for mbody
31 @ ipaddr TEXT, -- IP address of po1 -- IP address of post origin
32 @ inreplyto INT, -- Parent posting
33 @ mbody TEXT -- ('mod','ok')_x1 ON
34 @ forumpost(inreplyto,mtime);
35 @ CREATE TABLE repository.forumthreadorumpost.inreplyto=postdid INTEGER PRIMARY KEY,
36 @ mthreadhash TEXT, -- uuid for this 0 class="forumtable"> or subject line
37 @ mtime REAL, -- Most recent update
38 @ npost INT threadid,inreplyto,mtime
--- src/login.c
+++ src/login.c
@@ -1196,10 +1196,11 @@
11961196
p->RdWiki = p->WrWiki = p->NewWiki =
11971197
p->ApndWiki = p->Hyperlink = p->Clone =
11981198
p->NewTkt = p->Password = p->RdAddr =
11991199
p->TktFmt = p->Attach = p->ApndTkt =
12001200
p->ModWiki = p->ModTkt = p->Delete =
1201
+ p->RdForum = p->WrForum = p->ModForum =
12011202
p->WrUnver = p->Private = 1;
12021203
/* Fall thru into Read/Write */
12031204
case 'i': p->Read = p->Write = 1; break;
12041205
case 'o': p->Read = 1; break;
12051206
case 'z': p->Zip = 1; break;
@@ -1224,10 +1225,14 @@
12241225
case 'q': p->ModTkt = 1; break;
12251226
case 't': p->TktFmt = 1; break;
12261227
case 'b': p->Attach = 1; break;
12271228
case 'x': p->Private = 1; break;
12281229
case 'y': p->WrUnver = 1; break;
1230
+
1231
+ case '2': p->RdForum = 1; break;
1232
+ case '3': p->WrForum = 1; break;
1233
+ case '4': p->ModForum = 1; break;
12291234
12301235
/* The "u" privileges is a little different. It recursively
12311236
** inherits all privileges of the user named "reader" */
12321237
case 'u': {
12331238
if( (flags & LOGIN_IGNORE_UV)==0 ){
12341239
--- src/login.c
+++ src/login.c
@@ -1196,10 +1196,11 @@
1196 p->RdWiki = p->WrWiki = p->NewWiki =
1197 p->ApndWiki = p->Hyperlink = p->Clone =
1198 p->NewTkt = p->Password = p->RdAddr =
1199 p->TktFmt = p->Attach = p->ApndTkt =
1200 p->ModWiki = p->ModTkt = p->Delete =
 
1201 p->WrUnver = p->Private = 1;
1202 /* Fall thru into Read/Write */
1203 case 'i': p->Read = p->Write = 1; break;
1204 case 'o': p->Read = 1; break;
1205 case 'z': p->Zip = 1; break;
@@ -1224,10 +1225,14 @@
1224 case 'q': p->ModTkt = 1; break;
1225 case 't': p->TktFmt = 1; break;
1226 case 'b': p->Attach = 1; break;
1227 case 'x': p->Private = 1; break;
1228 case 'y': p->WrUnver = 1; break;
 
 
 
 
1229
1230 /* The "u" privileges is a little different. It recursively
1231 ** inherits all privileges of the user named "reader" */
1232 case 'u': {
1233 if( (flags & LOGIN_IGNORE_UV)==0 ){
1234
--- src/login.c
+++ src/login.c
@@ -1196,10 +1196,11 @@
1196 p->RdWiki = p->WrWiki = p->NewWiki =
1197 p->ApndWiki = p->Hyperlink = p->Clone =
1198 p->NewTkt = p->Password = p->RdAddr =
1199 p->TktFmt = p->Attach = p->ApndTkt =
1200 p->ModWiki = p->ModTkt = p->Delete =
1201 p->RdForum = p->WrForum = p->ModForum =
1202 p->WrUnver = p->Private = 1;
1203 /* Fall thru into Read/Write */
1204 case 'i': p->Read = p->Write = 1; break;
1205 case 'o': p->Read = 1; break;
1206 case 'z': p->Zip = 1; break;
@@ -1224,10 +1225,14 @@
1225 case 'q': p->ModTkt = 1; break;
1226 case 't': p->TktFmt = 1; break;
1227 case 'b': p->Attach = 1; break;
1228 case 'x': p->Private = 1; break;
1229 case 'y': p->WrUnver = 1; break;
1230
1231 case '2': p->RdForum = 1; break;
1232 case '3': p->WrForum = 1; break;
1233 case '4': p->ModForum = 1; break;
1234
1235 /* The "u" privileges is a little different. It recursively
1236 ** inherits all privileges of the user named "reader" */
1237 case 'u': {
1238 if( (flags & LOGIN_IGNORE_UV)==0 ){
1239
+3
--- src/main.c
+++ src/main.c
@@ -83,10 +83,13 @@
8383
char TktFmt; /* t: create new ticket report formats */
8484
char RdAddr; /* e: read email addresses or other private data */
8585
char Zip; /* z: download zipped artifact via /zip URL */
8686
char Private; /* x: can send and receive private content */
8787
char WrUnver; /* y: can push unversioned content */
88
+ char RdForum; /* 2: Read forum posts and comments */
89
+ char WrForum; /* 3: Create new forum posts and comments */
90
+ char ModForum; /* 4: Moderate forum posts and comments */
8891
};
8992
9093
#ifdef FOSSIL_ENABLE_TCL
9194
/*
9295
** All Tcl related context information is in this structure. This structure
9396
--- src/main.c
+++ src/main.c
@@ -83,10 +83,13 @@
83 char TktFmt; /* t: create new ticket report formats */
84 char RdAddr; /* e: read email addresses or other private data */
85 char Zip; /* z: download zipped artifact via /zip URL */
86 char Private; /* x: can send and receive private content */
87 char WrUnver; /* y: can push unversioned content */
 
 
 
88 };
89
90 #ifdef FOSSIL_ENABLE_TCL
91 /*
92 ** All Tcl related context information is in this structure. This structure
93
--- src/main.c
+++ src/main.c
@@ -83,10 +83,13 @@
83 char TktFmt; /* t: create new ticket report formats */
84 char RdAddr; /* e: read email addresses or other private data */
85 char Zip; /* z: download zipped artifact via /zip URL */
86 char Private; /* x: can send and receive private content */
87 char WrUnver; /* y: can push unversioned content */
88 char RdForum; /* 2: Read forum posts and comments */
89 char WrForum; /* 3: Create new forum posts and comments */
90 char ModForum; /* 4: Moderate forum posts and comments */
91 };
92
93 #ifdef FOSSIL_ENABLE_TCL
94 /*
95 ** All Tcl related context information is in this structure. This structure
96
+12
--- src/main.mk
+++ src/main.mk
@@ -49,10 +49,11 @@
4949
$(SRCDIR)/event.c \
5050
$(SRCDIR)/export.c \
5151
$(SRCDIR)/file.c \
5252
$(SRCDIR)/finfo.c \
5353
$(SRCDIR)/foci.c \
54
+ $(SRCDIR)/forum.c \
5455
$(SRCDIR)/fshell.c \
5556
$(SRCDIR)/fusefs.c \
5657
$(SRCDIR)/glob.c \
5758
$(SRCDIR)/graph.c \
5859
$(SRCDIR)/gzip.c \
@@ -250,10 +251,11 @@
250251
$(OBJDIR)/event_.c \
251252
$(OBJDIR)/export_.c \
252253
$(OBJDIR)/file_.c \
253254
$(OBJDIR)/finfo_.c \
254255
$(OBJDIR)/foci_.c \
256
+ $(OBJDIR)/forum_.c \
255257
$(OBJDIR)/fshell_.c \
256258
$(OBJDIR)/fusefs_.c \
257259
$(OBJDIR)/glob_.c \
258260
$(OBJDIR)/graph_.c \
259261
$(OBJDIR)/gzip_.c \
@@ -380,10 +382,11 @@
380382
$(OBJDIR)/event.o \
381383
$(OBJDIR)/export.o \
382384
$(OBJDIR)/file.o \
383385
$(OBJDIR)/finfo.o \
384386
$(OBJDIR)/foci.o \
387
+ $(OBJDIR)/forum.o \
385388
$(OBJDIR)/fshell.o \
386389
$(OBJDIR)/fusefs.o \
387390
$(OBJDIR)/glob.o \
388391
$(OBJDIR)/graph.o \
389392
$(OBJDIR)/gzip.o \
@@ -708,10 +711,11 @@
708711
$(OBJDIR)/event_.c:$(OBJDIR)/event.h \
709712
$(OBJDIR)/export_.c:$(OBJDIR)/export.h \
710713
$(OBJDIR)/file_.c:$(OBJDIR)/file.h \
711714
$(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
712715
$(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
716
+ $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
713717
$(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
714718
$(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
715719
$(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
716720
$(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
717721
$(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1094,10 +1098,18 @@
10941098
10951099
$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
10961100
$(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
10971101
10981102
$(OBJDIR)/foci.h: $(OBJDIR)/headers
1103
+
1104
+$(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(OBJDIR)/translate
1105
+ $(OBJDIR)/translate $(SRCDIR)/forum.c >$@
1106
+
1107
+$(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1108
+ $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1109
+
1110
+$(OBJDIR)/forum.h: $(OBJDIR)/headers
10991111
11001112
$(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(OBJDIR)/translate
11011113
$(OBJDIR)/translate $(SRCDIR)/fshell.c >$@
11021114
11031115
$(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
11041116
--- src/main.mk
+++ src/main.mk
@@ -49,10 +49,11 @@
49 $(SRCDIR)/event.c \
50 $(SRCDIR)/export.c \
51 $(SRCDIR)/file.c \
52 $(SRCDIR)/finfo.c \
53 $(SRCDIR)/foci.c \
 
54 $(SRCDIR)/fshell.c \
55 $(SRCDIR)/fusefs.c \
56 $(SRCDIR)/glob.c \
57 $(SRCDIR)/graph.c \
58 $(SRCDIR)/gzip.c \
@@ -250,10 +251,11 @@
250 $(OBJDIR)/event_.c \
251 $(OBJDIR)/export_.c \
252 $(OBJDIR)/file_.c \
253 $(OBJDIR)/finfo_.c \
254 $(OBJDIR)/foci_.c \
 
255 $(OBJDIR)/fshell_.c \
256 $(OBJDIR)/fusefs_.c \
257 $(OBJDIR)/glob_.c \
258 $(OBJDIR)/graph_.c \
259 $(OBJDIR)/gzip_.c \
@@ -380,10 +382,11 @@
380 $(OBJDIR)/event.o \
381 $(OBJDIR)/export.o \
382 $(OBJDIR)/file.o \
383 $(OBJDIR)/finfo.o \
384 $(OBJDIR)/foci.o \
 
385 $(OBJDIR)/fshell.o \
386 $(OBJDIR)/fusefs.o \
387 $(OBJDIR)/glob.o \
388 $(OBJDIR)/graph.o \
389 $(OBJDIR)/gzip.o \
@@ -708,10 +711,11 @@
708 $(OBJDIR)/event_.c:$(OBJDIR)/event.h \
709 $(OBJDIR)/export_.c:$(OBJDIR)/export.h \
710 $(OBJDIR)/file_.c:$(OBJDIR)/file.h \
711 $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
712 $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
 
713 $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
714 $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
715 $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
716 $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
717 $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1094,10 +1098,18 @@
1094
1095 $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
1096 $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
1097
1098 $(OBJDIR)/foci.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1099
1100 $(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(OBJDIR)/translate
1101 $(OBJDIR)/translate $(SRCDIR)/fshell.c >$@
1102
1103 $(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
1104
--- src/main.mk
+++ src/main.mk
@@ -49,10 +49,11 @@
49 $(SRCDIR)/event.c \
50 $(SRCDIR)/export.c \
51 $(SRCDIR)/file.c \
52 $(SRCDIR)/finfo.c \
53 $(SRCDIR)/foci.c \
54 $(SRCDIR)/forum.c \
55 $(SRCDIR)/fshell.c \
56 $(SRCDIR)/fusefs.c \
57 $(SRCDIR)/glob.c \
58 $(SRCDIR)/graph.c \
59 $(SRCDIR)/gzip.c \
@@ -250,10 +251,11 @@
251 $(OBJDIR)/event_.c \
252 $(OBJDIR)/export_.c \
253 $(OBJDIR)/file_.c \
254 $(OBJDIR)/finfo_.c \
255 $(OBJDIR)/foci_.c \
256 $(OBJDIR)/forum_.c \
257 $(OBJDIR)/fshell_.c \
258 $(OBJDIR)/fusefs_.c \
259 $(OBJDIR)/glob_.c \
260 $(OBJDIR)/graph_.c \
261 $(OBJDIR)/gzip_.c \
@@ -380,10 +382,11 @@
382 $(OBJDIR)/event.o \
383 $(OBJDIR)/export.o \
384 $(OBJDIR)/file.o \
385 $(OBJDIR)/finfo.o \
386 $(OBJDIR)/foci.o \
387 $(OBJDIR)/forum.o \
388 $(OBJDIR)/fshell.o \
389 $(OBJDIR)/fusefs.o \
390 $(OBJDIR)/glob.o \
391 $(OBJDIR)/graph.o \
392 $(OBJDIR)/gzip.o \
@@ -708,10 +711,11 @@
711 $(OBJDIR)/event_.c:$(OBJDIR)/event.h \
712 $(OBJDIR)/export_.c:$(OBJDIR)/export.h \
713 $(OBJDIR)/file_.c:$(OBJDIR)/file.h \
714 $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
715 $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
716 $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
717 $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
718 $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
719 $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
720 $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
721 $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1094,10 +1098,18 @@
1098
1099 $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
1100 $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
1101
1102 $(OBJDIR)/foci.h: $(OBJDIR)/headers
1103
1104 $(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(OBJDIR)/translate
1105 $(OBJDIR)/translate $(SRCDIR)/forum.c >$@
1106
1107 $(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1108 $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1109
1110 $(OBJDIR)/forum.h: $(OBJDIR)/headers
1111
1112 $(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(OBJDIR)/translate
1113 $(OBJDIR)/translate $(SRCDIR)/fshell.c >$@
1114
1115 $(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
1116
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -61,10 +61,11 @@
6161
event
6262
export
6363
file
6464
finfo
6565
foci
66
+ forum
6667
fshell
6768
fusefs
6869
glob
6970
graph
7071
gzip
7172
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -61,10 +61,11 @@
61 event
62 export
63 file
64 finfo
65 foci
 
66 fshell
67 fusefs
68 glob
69 graph
70 gzip
71
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -61,10 +61,11 @@
61 event
62 export
63 file
64 finfo
65 foci
66 forum
67 fshell
68 fusefs
69 glob
70 graph
71 gzip
72
+27 -7
--- src/setup.c
+++ src/setup.c
@@ -346,10 +346,16 @@
346346
@ <td><i>Private:</i> Push and/or pull private branches</td></tr>
347347
@ <tr><th valign="top">y</th>
348348
@ <td><i>Write-Unver:</i> Push unversioned files</td></tr>
349349
@ <tr><th valign="top">z</th>
350350
@ <td><i>Zip download:</i> Download a ZIP archive or tarball</td></tr>
351
+ @ <tr><th valign="top">2</th>
352
+ @ <td><i>Forum-Read:</i> Read Forum posts by others </td></tr>
353
+ @ <tr><th valign="top">3</th>
354
+ @ <td><i>Forum-Append:</i> Add new Forum posts or comments</td></tr>
355
+ @ <tr><th valign="top">4</th>
356
+ @ <td><i>Forum-Moderator:</i> Moderate Forums</td></tr>
351357
@ </table>
352358
}
353359
354360
/*
355361
** WEBPAGE: setup_ulist_notes
@@ -468,14 +474,19 @@
468474
** to the page that displays a list of users.
469475
*/
470476
doWrite = cgi_all("login","info","pw") && !higherUser && cgi_csrf_safe(1);
471477
if( doWrite ){
472478
char c;
473
- char zCap[50], zNm[4];
479
+ char zCap[60], zNm[4];
474480
zNm[0] = 'a';
475481
zNm[2] = 0;
476482
for(i=0, c='a'; c<='z'; c++){
483
+ zNm[1] = c;
484
+ a[c&0x7f] = (c!='s' || g.perm.Setup) && P(zNm)!=0;
485
+ if( a[c&0x7f] ) zCap[i++] = c;
486
+ }
487
+ for(c='0'; c<='9'; c++){
477488
zNm[1] = c;
478489
a[c&0x7f] = (c!='s' || g.perm.Setup) && P(zNm)!=0;
479490
if( a[c&0x7f] ) zCap[i++] = c;
480491
}
481492
@@ -564,18 +575,21 @@
564575
zLogin = "";
565576
zInfo = "";
566577
zCap = "";
567578
zPw = "";
568579
for(i='a'; i<='z'; i++) oa[i] = "";
580
+ for(i='0'; i<='9'; i++) oa[i] = "";
569581
if( uid ){
570582
zLogin = db_text("", "SELECT login FROM user WHERE uid=%d", uid);
571583
zInfo = db_text("", "SELECT info FROM user WHERE uid=%d", uid);
572584
zCap = db_text("", "SELECT cap FROM user WHERE uid=%d", uid);
573585
zPw = db_text("", "SELECT pw FROM user WHERE uid=%d", uid);
574586
for(i=0; zCap[i]; i++){
575587
char c = zCap[i];
576
- if( c>='a' && c<='z' ) oa[c&0x7f] = " checked=\"checked\"";
588
+ if( (c>='a' && c<='z') || (c>='0' && c<='9') ){
589
+ oa[c&0x7f] = " checked=\"checked\"";
590
+ }
577591
}
578592
}
579593
580594
/* figure out inherited permissions */
581595
memset((char *)inherit, 0, sizeof(inherit));
@@ -678,13 +692,13 @@
678692
@ Check-Out%s(B('o'))</label><br />
679693
@ <label><input type="checkbox" name="ah"%s(oa['h']) />
680694
@ Hyperlinks%s(B('h'))</label><br />
681695
@ <label><input type="checkbox" name="ab"%s(oa['b']) />
682696
@ Attachments%s(B('b'))</label><br />
683
- @ </td><td><td width="40"></td><td valign="top">
684697
@ <label><input type="checkbox" name="au"%s(oa['u']) />
685
- @ Reader%s(B('u'))</label><br />
698
+ @ Reader%s(B('u'))</label>
699
+ @ </td><td><td width="40"></td><td valign="top">
686700
@ <label><input type="checkbox" name="av"%s(oa['v']) />
687701
@ Developer%s(B('v'))</label><br />
688702
@ <label><input type="checkbox" name="ag"%s(oa['g']) />
689703
@ Clone%s(B('g'))</label><br />
690704
@ <label><input type="checkbox" name="aj"%s(oa['j']) />
@@ -695,17 +709,17 @@
695709
@ Append Wiki%s(B('m'))</label><br />
696710
@ <label><input type="checkbox" name="ak"%s(oa['k']) />
697711
@ Write Wiki%s(B('k'))</label><br />
698712
@ <label><input type="checkbox" name="al"%s(oa['l']) />
699713
@ Moderate Wiki%s(B('l'))</label><br />
700
- @ </td><td><td width="40"></td><td valign="top">
701714
@ <label><input type="checkbox" name="ar"%s(oa['r']) />
702715
@ Read Ticket%s(B('r'))</label><br />
703716
@ <label><input type="checkbox" name="an"%s(oa['n']) />
704717
@ New Tickets%s(B('n'))</label><br />
705718
@ <label><input type="checkbox" name="ac"%s(oa['c']) />
706
- @ Append To Ticket%s(B('c'))</label><br />
719
+ @ Append To Ticket%s(B('c'))</label>
720
+ @ </td><td><td width="40"></td><td valign="top">
707721
@ <label><input type="checkbox" name="aw"%s(oa['w']) />
708722
@ Write Tickets%s(B('w'))</label><br />
709723
@ <label><input type="checkbox" name="aq"%s(oa['q']) />
710724
@ Moderate Tickets%s(B('q'))</label><br />
711725
@ <label><input type="checkbox" name="at"%s(oa['t']) />
@@ -713,11 +727,17 @@
713727
@ <label><input type="checkbox" name="ax"%s(oa['x']) />
714728
@ Private%s(B('x'))</label><br />
715729
@ <label><input type="checkbox" name="ay"%s(oa['y']) />
716730
@ Write Unversioned%s(B('y'))</label><br />
717731
@ <label><input type="checkbox" name="az"%s(oa['z']) />
718
- @ Download Zip%s(B('z'))</label>
732
+ @ Download Zip%s(B('z'))</label><br />
733
+ @ <label><input type="checkbox" name="a2"%s(oa['2']) />
734
+ @ Read Forum%s(B('2'))</label><br />
735
+ @ <label><input type="checkbox" name="a3"%s(oa['3']) />
736
+ @ Write Forum%s(B('3'))</label><br />
737
+ @ <label><input type="checkbox" name="a4"%s(oa['4']) />
738
+ @ Moderate Forum%s(B('4'))</label>
719739
@ </td></tr>
720740
@ </table>
721741
@ </td>
722742
@ </tr>
723743
@ <tr>
724744
--- src/setup.c
+++ src/setup.c
@@ -346,10 +346,16 @@
346 @ <td><i>Private:</i> Push and/or pull private branches</td></tr>
347 @ <tr><th valign="top">y</th>
348 @ <td><i>Write-Unver:</i> Push unversioned files</td></tr>
349 @ <tr><th valign="top">z</th>
350 @ <td><i>Zip download:</i> Download a ZIP archive or tarball</td></tr>
 
 
 
 
 
 
351 @ </table>
352 }
353
354 /*
355 ** WEBPAGE: setup_ulist_notes
@@ -468,14 +474,19 @@
468 ** to the page that displays a list of users.
469 */
470 doWrite = cgi_all("login","info","pw") && !higherUser && cgi_csrf_safe(1);
471 if( doWrite ){
472 char c;
473 char zCap[50], zNm[4];
474 zNm[0] = 'a';
475 zNm[2] = 0;
476 for(i=0, c='a'; c<='z'; c++){
 
 
 
 
 
477 zNm[1] = c;
478 a[c&0x7f] = (c!='s' || g.perm.Setup) && P(zNm)!=0;
479 if( a[c&0x7f] ) zCap[i++] = c;
480 }
481
@@ -564,18 +575,21 @@
564 zLogin = "";
565 zInfo = "";
566 zCap = "";
567 zPw = "";
568 for(i='a'; i<='z'; i++) oa[i] = "";
 
569 if( uid ){
570 zLogin = db_text("", "SELECT login FROM user WHERE uid=%d", uid);
571 zInfo = db_text("", "SELECT info FROM user WHERE uid=%d", uid);
572 zCap = db_text("", "SELECT cap FROM user WHERE uid=%d", uid);
573 zPw = db_text("", "SELECT pw FROM user WHERE uid=%d", uid);
574 for(i=0; zCap[i]; i++){
575 char c = zCap[i];
576 if( c>='a' && c<='z' ) oa[c&0x7f] = " checked=\"checked\"";
 
 
577 }
578 }
579
580 /* figure out inherited permissions */
581 memset((char *)inherit, 0, sizeof(inherit));
@@ -678,13 +692,13 @@
678 @ Check-Out%s(B('o'))</label><br />
679 @ <label><input type="checkbox" name="ah"%s(oa['h']) />
680 @ Hyperlinks%s(B('h'))</label><br />
681 @ <label><input type="checkbox" name="ab"%s(oa['b']) />
682 @ Attachments%s(B('b'))</label><br />
683 @ </td><td><td width="40"></td><td valign="top">
684 @ <label><input type="checkbox" name="au"%s(oa['u']) />
685 @ Reader%s(B('u'))</label><br />
 
686 @ <label><input type="checkbox" name="av"%s(oa['v']) />
687 @ Developer%s(B('v'))</label><br />
688 @ <label><input type="checkbox" name="ag"%s(oa['g']) />
689 @ Clone%s(B('g'))</label><br />
690 @ <label><input type="checkbox" name="aj"%s(oa['j']) />
@@ -695,17 +709,17 @@
695 @ Append Wiki%s(B('m'))</label><br />
696 @ <label><input type="checkbox" name="ak"%s(oa['k']) />
697 @ Write Wiki%s(B('k'))</label><br />
698 @ <label><input type="checkbox" name="al"%s(oa['l']) />
699 @ Moderate Wiki%s(B('l'))</label><br />
700 @ </td><td><td width="40"></td><td valign="top">
701 @ <label><input type="checkbox" name="ar"%s(oa['r']) />
702 @ Read Ticket%s(B('r'))</label><br />
703 @ <label><input type="checkbox" name="an"%s(oa['n']) />
704 @ New Tickets%s(B('n'))</label><br />
705 @ <label><input type="checkbox" name="ac"%s(oa['c']) />
706 @ Append To Ticket%s(B('c'))</label><br />
 
707 @ <label><input type="checkbox" name="aw"%s(oa['w']) />
708 @ Write Tickets%s(B('w'))</label><br />
709 @ <label><input type="checkbox" name="aq"%s(oa['q']) />
710 @ Moderate Tickets%s(B('q'))</label><br />
711 @ <label><input type="checkbox" name="at"%s(oa['t']) />
@@ -713,11 +727,17 @@
713 @ <label><input type="checkbox" name="ax"%s(oa['x']) />
714 @ Private%s(B('x'))</label><br />
715 @ <label><input type="checkbox" name="ay"%s(oa['y']) />
716 @ Write Unversioned%s(B('y'))</label><br />
717 @ <label><input type="checkbox" name="az"%s(oa['z']) />
718 @ Download Zip%s(B('z'))</label>
 
 
 
 
 
 
719 @ </td></tr>
720 @ </table>
721 @ </td>
722 @ </tr>
723 @ <tr>
724
--- src/setup.c
+++ src/setup.c
@@ -346,10 +346,16 @@
346 @ <td><i>Private:</i> Push and/or pull private branches</td></tr>
347 @ <tr><th valign="top">y</th>
348 @ <td><i>Write-Unver:</i> Push unversioned files</td></tr>
349 @ <tr><th valign="top">z</th>
350 @ <td><i>Zip download:</i> Download a ZIP archive or tarball</td></tr>
351 @ <tr><th valign="top">2</th>
352 @ <td><i>Forum-Read:</i> Read Forum posts by others </td></tr>
353 @ <tr><th valign="top">3</th>
354 @ <td><i>Forum-Append:</i> Add new Forum posts or comments</td></tr>
355 @ <tr><th valign="top">4</th>
356 @ <td><i>Forum-Moderator:</i> Moderate Forums</td></tr>
357 @ </table>
358 }
359
360 /*
361 ** WEBPAGE: setup_ulist_notes
@@ -468,14 +474,19 @@
474 ** to the page that displays a list of users.
475 */
476 doWrite = cgi_all("login","info","pw") && !higherUser && cgi_csrf_safe(1);
477 if( doWrite ){
478 char c;
479 char zCap[60], zNm[4];
480 zNm[0] = 'a';
481 zNm[2] = 0;
482 for(i=0, c='a'; c<='z'; c++){
483 zNm[1] = c;
484 a[c&0x7f] = (c!='s' || g.perm.Setup) && P(zNm)!=0;
485 if( a[c&0x7f] ) zCap[i++] = c;
486 }
487 for(c='0'; c<='9'; c++){
488 zNm[1] = c;
489 a[c&0x7f] = (c!='s' || g.perm.Setup) && P(zNm)!=0;
490 if( a[c&0x7f] ) zCap[i++] = c;
491 }
492
@@ -564,18 +575,21 @@
575 zLogin = "";
576 zInfo = "";
577 zCap = "";
578 zPw = "";
579 for(i='a'; i<='z'; i++) oa[i] = "";
580 for(i='0'; i<='9'; i++) oa[i] = "";
581 if( uid ){
582 zLogin = db_text("", "SELECT login FROM user WHERE uid=%d", uid);
583 zInfo = db_text("", "SELECT info FROM user WHERE uid=%d", uid);
584 zCap = db_text("", "SELECT cap FROM user WHERE uid=%d", uid);
585 zPw = db_text("", "SELECT pw FROM user WHERE uid=%d", uid);
586 for(i=0; zCap[i]; i++){
587 char c = zCap[i];
588 if( (c>='a' && c<='z') || (c>='0' && c<='9') ){
589 oa[c&0x7f] = " checked=\"checked\"";
590 }
591 }
592 }
593
594 /* figure out inherited permissions */
595 memset((char *)inherit, 0, sizeof(inherit));
@@ -678,13 +692,13 @@
692 @ Check-Out%s(B('o'))</label><br />
693 @ <label><input type="checkbox" name="ah"%s(oa['h']) />
694 @ Hyperlinks%s(B('h'))</label><br />
695 @ <label><input type="checkbox" name="ab"%s(oa['b']) />
696 @ Attachments%s(B('b'))</label><br />
 
697 @ <label><input type="checkbox" name="au"%s(oa['u']) />
698 @ Reader%s(B('u'))</label>
699 @ </td><td><td width="40"></td><td valign="top">
700 @ <label><input type="checkbox" name="av"%s(oa['v']) />
701 @ Developer%s(B('v'))</label><br />
702 @ <label><input type="checkbox" name="ag"%s(oa['g']) />
703 @ Clone%s(B('g'))</label><br />
704 @ <label><input type="checkbox" name="aj"%s(oa['j']) />
@@ -695,17 +709,17 @@
709 @ Append Wiki%s(B('m'))</label><br />
710 @ <label><input type="checkbox" name="ak"%s(oa['k']) />
711 @ Write Wiki%s(B('k'))</label><br />
712 @ <label><input type="checkbox" name="al"%s(oa['l']) />
713 @ Moderate Wiki%s(B('l'))</label><br />
 
714 @ <label><input type="checkbox" name="ar"%s(oa['r']) />
715 @ Read Ticket%s(B('r'))</label><br />
716 @ <label><input type="checkbox" name="an"%s(oa['n']) />
717 @ New Tickets%s(B('n'))</label><br />
718 @ <label><input type="checkbox" name="ac"%s(oa['c']) />
719 @ Append To Ticket%s(B('c'))</label>
720 @ </td><td><td width="40"></td><td valign="top">
721 @ <label><input type="checkbox" name="aw"%s(oa['w']) />
722 @ Write Tickets%s(B('w'))</label><br />
723 @ <label><input type="checkbox" name="aq"%s(oa['q']) />
724 @ Moderate Tickets%s(B('q'))</label><br />
725 @ <label><input type="checkbox" name="at"%s(oa['t']) />
@@ -713,11 +727,17 @@
727 @ <label><input type="checkbox" name="ax"%s(oa['x']) />
728 @ Private%s(B('x'))</label><br />
729 @ <label><input type="checkbox" name="ay"%s(oa['y']) />
730 @ Write Unversioned%s(B('y'))</label><br />
731 @ <label><input type="checkbox" name="az"%s(oa['z']) />
732 @ Download Zip%s(B('z'))</label><br />
733 @ <label><input type="checkbox" name="a2"%s(oa['2']) />
734 @ Read Forum%s(B('2'))</label><br />
735 @ <label><input type="checkbox" name="a3"%s(oa['3']) />
736 @ Write Forum%s(B('3'))</label><br />
737 @ <label><input type="checkbox" name="a4"%s(oa['4']) />
738 @ Moderate Forum%s(B('4'))</label>
739 @ </td></tr>
740 @ </table>
741 @ </td>
742 @ </tr>
743 @ <tr>
744
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
2828
2929
SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
3030
3131
SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -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 builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.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 loadctrl_.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 piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.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
33
+SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.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 loadctrl_.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 piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.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)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$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)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$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)\loadctrl$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)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$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)\unversioned$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
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)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$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)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$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)\loadctrl$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)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$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)\unversioned$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
@@ -49,11 +49,11 @@
4949
5050
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5151
$(RC) $(RCFLAGS) -o$@ $**
5252
5353
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54
- +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc encode etag event export file finfo foci fshell fusefs glob graph gzip hname 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 loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54
+ +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname 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 loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5555
+echo fossil >> $@
5656
+echo fossil >> $@
5757
+echo $(LIBS) >> $@
5858
+echo. >> $@
5959
+echo fossil >> $@
@@ -344,10 +344,16 @@
344344
$(OBJDIR)\foci$O : foci_.c foci.h
345345
$(TCC) -o$@ -c foci_.c
346346
347347
foci_.c : $(SRCDIR)\foci.c
348348
+translate$E $** > $@
349
+
350
+$(OBJDIR)\forum$O : forum_.c forum.h
351
+ $(TCC) -o$@ -c forum_.c
352
+
353
+forum_.c : $(SRCDIR)\forum.c
354
+ +translate$E $** > $@
349355
350356
$(OBJDIR)\fshell$O : fshell_.c fshell.h
351357
$(TCC) -o$@ -c fshell_.c
352358
353359
fshell_.c : $(SRCDIR)\fshell.c
@@ -898,7 +904,7 @@
898904
899905
zip_.c : $(SRCDIR)\zip.c
900906
+translate$E $** > $@
901907
902908
headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
903
- +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 builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.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 cookies_.c:cookies.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 dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.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 loadctrl_.c:loadctrl.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 piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.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 security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.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 unversioned_.c:unversioned.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
909
+ +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 builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.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 cookies_.c:cookies.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 dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.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 loadctrl_.c:loadctrl.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 piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.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 security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.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 unversioned_.c:unversioned.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
904910
@copy /Y nul: headers
905911
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
30
31 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -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 builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.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 loadctrl_.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 piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.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)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$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)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$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)\loadctrl$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)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$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)\unversioned$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
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc encode etag event export file finfo foci fshell fusefs glob graph gzip hname 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 loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -344,10 +344,16 @@
344 $(OBJDIR)\foci$O : foci_.c foci.h
345 $(TCC) -o$@ -c foci_.c
346
347 foci_.c : $(SRCDIR)\foci.c
348 +translate$E $** > $@
 
 
 
 
 
 
349
350 $(OBJDIR)\fshell$O : fshell_.c fshell.h
351 $(TCC) -o$@ -c fshell_.c
352
353 fshell_.c : $(SRCDIR)\fshell.c
@@ -898,7 +904,7 @@
898
899 zip_.c : $(SRCDIR)\zip.c
900 +translate$E $** > $@
901
902 headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
903 +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 builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.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 cookies_.c:cookies.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 dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.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 loadctrl_.c:loadctrl.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 piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.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 security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.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 unversioned_.c:unversioned.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
904 @copy /Y nul: headers
905
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
30
31 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -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 builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.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 loadctrl_.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 piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.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)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$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)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$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)\loadctrl$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)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$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)\unversioned$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
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname 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 loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -344,10 +344,16 @@
344 $(OBJDIR)\foci$O : foci_.c foci.h
345 $(TCC) -o$@ -c foci_.c
346
347 foci_.c : $(SRCDIR)\foci.c
348 +translate$E $** > $@
349
350 $(OBJDIR)\forum$O : forum_.c forum.h
351 $(TCC) -o$@ -c forum_.c
352
353 forum_.c : $(SRCDIR)\forum.c
354 +translate$E $** > $@
355
356 $(OBJDIR)\fshell$O : fshell_.c fshell.h
357 $(TCC) -o$@ -c fshell_.c
358
359 fshell_.c : $(SRCDIR)\fshell.c
@@ -898,7 +904,7 @@
904
905 zip_.c : $(SRCDIR)\zip.c
906 +translate$E $** > $@
907
908 headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
909 +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 builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.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 cookies_.c:cookies.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 dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.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 loadctrl_.c:loadctrl.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 piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.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 security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.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 unversioned_.c:unversioned.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
910 @copy /Y nul: headers
911
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -468,10 +468,11 @@
468468
$(SRCDIR)/event.c \
469469
$(SRCDIR)/export.c \
470470
$(SRCDIR)/file.c \
471471
$(SRCDIR)/finfo.c \
472472
$(SRCDIR)/foci.c \
473
+ $(SRCDIR)/forum.c \
473474
$(SRCDIR)/fshell.c \
474475
$(SRCDIR)/fusefs.c \
475476
$(SRCDIR)/glob.c \
476477
$(SRCDIR)/graph.c \
477478
$(SRCDIR)/gzip.c \
@@ -669,10 +670,11 @@
669670
$(OBJDIR)/event_.c \
670671
$(OBJDIR)/export_.c \
671672
$(OBJDIR)/file_.c \
672673
$(OBJDIR)/finfo_.c \
673674
$(OBJDIR)/foci_.c \
675
+ $(OBJDIR)/forum_.c \
674676
$(OBJDIR)/fshell_.c \
675677
$(OBJDIR)/fusefs_.c \
676678
$(OBJDIR)/glob_.c \
677679
$(OBJDIR)/graph_.c \
678680
$(OBJDIR)/gzip_.c \
@@ -799,10 +801,11 @@
799801
$(OBJDIR)/event.o \
800802
$(OBJDIR)/export.o \
801803
$(OBJDIR)/file.o \
802804
$(OBJDIR)/finfo.o \
803805
$(OBJDIR)/foci.o \
806
+ $(OBJDIR)/forum.o \
804807
$(OBJDIR)/fshell.o \
805808
$(OBJDIR)/fusefs.o \
806809
$(OBJDIR)/glob.o \
807810
$(OBJDIR)/graph.o \
808811
$(OBJDIR)/gzip.o \
@@ -1148,10 +1151,11 @@
11481151
$(OBJDIR)/event_.c:$(OBJDIR)/event.h \
11491152
$(OBJDIR)/export_.c:$(OBJDIR)/export.h \
11501153
$(OBJDIR)/file_.c:$(OBJDIR)/file.h \
11511154
$(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
11521155
$(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
1156
+ $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
11531157
$(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
11541158
$(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
11551159
$(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
11561160
$(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
11571161
$(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1536,10 +1540,18 @@
15361540
15371541
$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
15381542
$(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
15391543
15401544
$(OBJDIR)/foci.h: $(OBJDIR)/headers
1545
+
1546
+$(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(TRANSLATE)
1547
+ $(TRANSLATE) $(SRCDIR)/forum.c >$@
1548
+
1549
+$(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1550
+ $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1551
+
1552
+$(OBJDIR)/forum.h: $(OBJDIR)/headers
15411553
15421554
$(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(TRANSLATE)
15431555
$(TRANSLATE) $(SRCDIR)/fshell.c >$@
15441556
15451557
$(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
15461558
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -468,10 +468,11 @@
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 \
@@ -669,10 +670,11 @@
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 \
@@ -799,10 +801,11 @@
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 \
@@ -1148,10 +1151,11 @@
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 \
@@ -1536,10 +1540,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
1546
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -468,10 +468,11 @@
468 $(SRCDIR)/event.c \
469 $(SRCDIR)/export.c \
470 $(SRCDIR)/file.c \
471 $(SRCDIR)/finfo.c \
472 $(SRCDIR)/foci.c \
473 $(SRCDIR)/forum.c \
474 $(SRCDIR)/fshell.c \
475 $(SRCDIR)/fusefs.c \
476 $(SRCDIR)/glob.c \
477 $(SRCDIR)/graph.c \
478 $(SRCDIR)/gzip.c \
@@ -669,10 +670,11 @@
670 $(OBJDIR)/event_.c \
671 $(OBJDIR)/export_.c \
672 $(OBJDIR)/file_.c \
673 $(OBJDIR)/finfo_.c \
674 $(OBJDIR)/foci_.c \
675 $(OBJDIR)/forum_.c \
676 $(OBJDIR)/fshell_.c \
677 $(OBJDIR)/fusefs_.c \
678 $(OBJDIR)/glob_.c \
679 $(OBJDIR)/graph_.c \
680 $(OBJDIR)/gzip_.c \
@@ -799,10 +801,11 @@
801 $(OBJDIR)/event.o \
802 $(OBJDIR)/export.o \
803 $(OBJDIR)/file.o \
804 $(OBJDIR)/finfo.o \
805 $(OBJDIR)/foci.o \
806 $(OBJDIR)/forum.o \
807 $(OBJDIR)/fshell.o \
808 $(OBJDIR)/fusefs.o \
809 $(OBJDIR)/glob.o \
810 $(OBJDIR)/graph.o \
811 $(OBJDIR)/gzip.o \
@@ -1148,10 +1151,11 @@
1151 $(OBJDIR)/event_.c:$(OBJDIR)/event.h \
1152 $(OBJDIR)/export_.c:$(OBJDIR)/export.h \
1153 $(OBJDIR)/file_.c:$(OBJDIR)/file.h \
1154 $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \
1155 $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \
1156 $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \
1157 $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \
1158 $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \
1159 $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \
1160 $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \
1161 $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \
@@ -1536,10 +1540,18 @@
1540
1541 $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h
1542 $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c
1543
1544 $(OBJDIR)/foci.h: $(OBJDIR)/headers
1545
1546 $(OBJDIR)/forum_.c: $(SRCDIR)/forum.c $(TRANSLATE)
1547 $(TRANSLATE) $(SRCDIR)/forum.c >$@
1548
1549 $(OBJDIR)/forum.o: $(OBJDIR)/forum_.c $(OBJDIR)/forum.h $(SRCDIR)/config.h
1550 $(XTCC) -o $(OBJDIR)/forum.o -c $(OBJDIR)/forum_.c
1551
1552 $(OBJDIR)/forum.h: $(OBJDIR)/headers
1553
1554 $(OBJDIR)/fshell_.c: $(SRCDIR)/fshell.c $(TRANSLATE)
1555 $(TRANSLATE) $(SRCDIR)/fshell.c >$@
1556
1557 $(OBJDIR)/fshell.o: $(OBJDIR)/fshell_.c $(OBJDIR)/fshell.h $(SRCDIR)/config.h
1558
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -414,10 +414,11 @@
414414
event_.c \
415415
export_.c \
416416
file_.c \
417417
finfo_.c \
418418
foci_.c \
419
+ forum_.c \
419420
fshell_.c \
420421
fusefs_.c \
421422
glob_.c \
422423
graph_.c \
423424
gzip_.c \
@@ -614,10 +615,11 @@
614615
$(OX)\event$O \
615616
$(OX)\export$O \
616617
$(OX)\file$O \
617618
$(OX)\finfo$O \
618619
$(OX)\foci$O \
620
+ $(OX)\forum$O \
619621
$(OX)\fshell$O \
620622
$(OX)\fusefs$O \
621623
$(OX)\glob$O \
622624
$(OX)\graph$O \
623625
$(OX)\gzip$O \
@@ -803,10 +805,11 @@
803805
echo $(OX)\event.obj >> $@
804806
echo $(OX)\export.obj >> $@
805807
echo $(OX)\file.obj >> $@
806808
echo $(OX)\finfo.obj >> $@
807809
echo $(OX)\foci.obj >> $@
810
+ echo $(OX)\forum.obj >> $@
808811
echo $(OX)\fshell.obj >> $@
809812
echo $(OX)\fusefs.obj >> $@
810813
echo $(OX)\glob.obj >> $@
811814
echo $(OX)\graph.obj >> $@
812815
echo $(OX)\gzip.obj >> $@
@@ -1233,10 +1236,16 @@
12331236
$(OX)\foci$O : foci_.c foci.h
12341237
$(TCC) /Fo$@ -c foci_.c
12351238
12361239
foci_.c : $(SRCDIR)\foci.c
12371240
translate$E $** > $@
1241
+
1242
+$(OX)\forum$O : forum_.c forum.h
1243
+ $(TCC) /Fo$@ -c forum_.c
1244
+
1245
+forum_.c : $(SRCDIR)\forum.c
1246
+ translate$E $** > $@
12381247
12391248
$(OX)\fshell$O : fshell_.c fshell.h
12401249
$(TCC) /Fo$@ -c fshell_.c
12411250
12421251
fshell_.c : $(SRCDIR)\fshell.c
@@ -1826,10 +1835,11 @@
18261835
event_.c:event.h \
18271836
export_.c:export.h \
18281837
file_.c:file.h \
18291838
finfo_.c:finfo.h \
18301839
foci_.c:foci.h \
1840
+ forum_.c:forum.h \
18311841
fshell_.c:fshell.h \
18321842
fusefs_.c:fusefs.h \
18331843
glob_.c:glob.h \
18341844
graph_.c:graph.h \
18351845
gzip_.c:gzip.h \
18361846
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -414,10 +414,11 @@
414 event_.c \
415 export_.c \
416 file_.c \
417 finfo_.c \
418 foci_.c \
 
419 fshell_.c \
420 fusefs_.c \
421 glob_.c \
422 graph_.c \
423 gzip_.c \
@@ -614,10 +615,11 @@
614 $(OX)\event$O \
615 $(OX)\export$O \
616 $(OX)\file$O \
617 $(OX)\finfo$O \
618 $(OX)\foci$O \
 
619 $(OX)\fshell$O \
620 $(OX)\fusefs$O \
621 $(OX)\glob$O \
622 $(OX)\graph$O \
623 $(OX)\gzip$O \
@@ -803,10 +805,11 @@
803 echo $(OX)\event.obj >> $@
804 echo $(OX)\export.obj >> $@
805 echo $(OX)\file.obj >> $@
806 echo $(OX)\finfo.obj >> $@
807 echo $(OX)\foci.obj >> $@
 
808 echo $(OX)\fshell.obj >> $@
809 echo $(OX)\fusefs.obj >> $@
810 echo $(OX)\glob.obj >> $@
811 echo $(OX)\graph.obj >> $@
812 echo $(OX)\gzip.obj >> $@
@@ -1233,10 +1236,16 @@
1233 $(OX)\foci$O : foci_.c foci.h
1234 $(TCC) /Fo$@ -c foci_.c
1235
1236 foci_.c : $(SRCDIR)\foci.c
1237 translate$E $** > $@
 
 
 
 
 
 
1238
1239 $(OX)\fshell$O : fshell_.c fshell.h
1240 $(TCC) /Fo$@ -c fshell_.c
1241
1242 fshell_.c : $(SRCDIR)\fshell.c
@@ -1826,10 +1835,11 @@
1826 event_.c:event.h \
1827 export_.c:export.h \
1828 file_.c:file.h \
1829 finfo_.c:finfo.h \
1830 foci_.c:foci.h \
 
1831 fshell_.c:fshell.h \
1832 fusefs_.c:fusefs.h \
1833 glob_.c:glob.h \
1834 graph_.c:graph.h \
1835 gzip_.c:gzip.h \
1836
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -414,10 +414,11 @@
414 event_.c \
415 export_.c \
416 file_.c \
417 finfo_.c \
418 foci_.c \
419 forum_.c \
420 fshell_.c \
421 fusefs_.c \
422 glob_.c \
423 graph_.c \
424 gzip_.c \
@@ -614,10 +615,11 @@
615 $(OX)\event$O \
616 $(OX)\export$O \
617 $(OX)\file$O \
618 $(OX)\finfo$O \
619 $(OX)\foci$O \
620 $(OX)\forum$O \
621 $(OX)\fshell$O \
622 $(OX)\fusefs$O \
623 $(OX)\glob$O \
624 $(OX)\graph$O \
625 $(OX)\gzip$O \
@@ -803,10 +805,11 @@
805 echo $(OX)\event.obj >> $@
806 echo $(OX)\export.obj >> $@
807 echo $(OX)\file.obj >> $@
808 echo $(OX)\finfo.obj >> $@
809 echo $(OX)\foci.obj >> $@
810 echo $(OX)\forum.obj >> $@
811 echo $(OX)\fshell.obj >> $@
812 echo $(OX)\fusefs.obj >> $@
813 echo $(OX)\glob.obj >> $@
814 echo $(OX)\graph.obj >> $@
815 echo $(OX)\gzip.obj >> $@
@@ -1233,10 +1236,16 @@
1236 $(OX)\foci$O : foci_.c foci.h
1237 $(TCC) /Fo$@ -c foci_.c
1238
1239 foci_.c : $(SRCDIR)\foci.c
1240 translate$E $** > $@
1241
1242 $(OX)\forum$O : forum_.c forum.h
1243 $(TCC) /Fo$@ -c forum_.c
1244
1245 forum_.c : $(SRCDIR)\forum.c
1246 translate$E $** > $@
1247
1248 $(OX)\fshell$O : fshell_.c fshell.h
1249 $(TCC) /Fo$@ -c fshell_.c
1250
1251 fshell_.c : $(SRCDIR)\fshell.c
@@ -1826,10 +1835,11 @@
1835 event_.c:event.h \
1836 export_.c:export.h \
1837 file_.c:file.h \
1838 finfo_.c:finfo.h \
1839 foci_.c:foci.h \
1840 forum_.c:forum.h \
1841 fshell_.c:fshell.h \
1842 fusefs_.c:fusefs.h \
1843 glob_.c:glob.h \
1844 graph_.c:graph.h \
1845 gzip_.c:gzip.h \
1846

Keyboard Shortcuts

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