Fossil SCM

Begin refactoring forum code to support orthogonal history and plaintext options. First step: rename pEdit to pEditPrev to make room for a pEditNext field.

andygoth 2020-08-21 15:54 trunk
Commit 636f6596892306725514069f6b63c343979a28928f77a677dc2eb2f11608f89b
1 file changed +8 -8
+8 -8
--- src/forum.c
+++ src/forum.c
@@ -39,11 +39,11 @@
3939
int mfirt; /* Root in-reply-to */
4040
int nReply; /* Number of replies to this entry */
4141
int sid; /* Serial ID number */
4242
char *zUuid; /* Artifact hash */
4343
ForumEntry *pLeaf; /* Most recent edit for this entry */
44
- ForumEntry *pEdit; /* This entry is an edit of pEdit */
44
+ ForumEntry *pEditPrev; /* This entry is an edit of pEditPrev */
4545
ForumEntry *pNext; /* Next in chronological order */
4646
ForumEntry *pPrev; /* Previous in chronological order */
4747
ForumEntry *pDisplay; /* Next in display order */
4848
int nIndent; /* Number of levels of indentation for this entry */
4949
};
@@ -199,15 +199,15 @@
199199
*/
200200
for(pEntry=pThread->pFirst; pEntry; pEntry=pEntry->pNext){
201201
if( pEntry->fprev ){
202202
ForumEntry *pBase = 0, *p;
203203
p = forumentry_backward(pEntry->pPrev, pEntry->fprev);
204
- pEntry->pEdit = p;
204
+ pEntry->pEditPrev = p;
205205
while( p ){
206206
pBase = p;
207207
p->pLeaf = pEntry;
208
- p = pBase->pEdit;
208
+ p = pBase->pEditPrev;
209209
}
210210
for(p=pEntry->pNext; p; p=p->pNext){
211211
if( p->mfirt==pEntry->fpid ) p->mfirt = pBase->fpid;
212212
}
213213
}
@@ -433,17 +433,17 @@
433433
if( pPost->zThreadTitle ){
434434
@ <h1>%h(pPost->zThreadTitle)</h1>
435435
}
436436
zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
437437
zDisplayName = display_name_from_login(pPost->zUser);
438
- sid = p->pEdit ? p->pEdit->sid : p->sid;
438
+ sid = p->pEditPrev ? p->pEditPrev->sid : p->sid;
439439
@ <h3 class='forumPostHdr'>(%d(sid)) By %h(zDisplayName) on %h(zDate)
440440
fossil_free(zDisplayName);
441441
fossil_free(zDate);
442
- if( p->pEdit ){
443
- @ edit of %z(href("%R/forumpost/%S?t=%c",p->pEdit->zUuid,cMode))\
444
- @ %d(p->pEdit->sid)</a>
442
+ if( p->pEditPrev ){
443
+ @ edit of %z(href("%R/forumpost/%S?t=%c",p->pEditPrev->zUuid,cMode))\
444
+ @ %d(p->pEditPrev->sid)</a>
445445
}
446446
if( g.perm.Debug ){
447447
@ <span class="debug">\
448448
@ <a href="%R/artifact/%h(p->zUuid)">(artifact-%d(p->fpid))</a></span>
449449
}
@@ -638,11 +638,11 @@
638638
int iIndentScale = 4;
639639
640640
pThread = forumthread_create(froot, 1);
641641
for(p=pThread->pFirst; p; p=p->pNext){
642642
if( p->fpid==target ){
643
- while( p->pEdit ) p = p->pEdit;
643
+ while( p->pEditPrev ) p = p->pEditPrev;
644644
target = p->fpid;
645645
break;
646646
}
647647
}
648648
while( iIndentScale>1 && iIndentScale*pThread->mxIndent>25 ){
649649
--- src/forum.c
+++ src/forum.c
@@ -39,11 +39,11 @@
39 int mfirt; /* Root in-reply-to */
40 int nReply; /* Number of replies to this entry */
41 int sid; /* Serial ID number */
42 char *zUuid; /* Artifact hash */
43 ForumEntry *pLeaf; /* Most recent edit for this entry */
44 ForumEntry *pEdit; /* This entry is an edit of pEdit */
45 ForumEntry *pNext; /* Next in chronological order */
46 ForumEntry *pPrev; /* Previous in chronological order */
47 ForumEntry *pDisplay; /* Next in display order */
48 int nIndent; /* Number of levels of indentation for this entry */
49 };
@@ -199,15 +199,15 @@
199 */
200 for(pEntry=pThread->pFirst; pEntry; pEntry=pEntry->pNext){
201 if( pEntry->fprev ){
202 ForumEntry *pBase = 0, *p;
203 p = forumentry_backward(pEntry->pPrev, pEntry->fprev);
204 pEntry->pEdit = p;
205 while( p ){
206 pBase = p;
207 p->pLeaf = pEntry;
208 p = pBase->pEdit;
209 }
210 for(p=pEntry->pNext; p; p=p->pNext){
211 if( p->mfirt==pEntry->fpid ) p->mfirt = pBase->fpid;
212 }
213 }
@@ -433,17 +433,17 @@
433 if( pPost->zThreadTitle ){
434 @ <h1>%h(pPost->zThreadTitle)</h1>
435 }
436 zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
437 zDisplayName = display_name_from_login(pPost->zUser);
438 sid = p->pEdit ? p->pEdit->sid : p->sid;
439 @ <h3 class='forumPostHdr'>(%d(sid)) By %h(zDisplayName) on %h(zDate)
440 fossil_free(zDisplayName);
441 fossil_free(zDate);
442 if( p->pEdit ){
443 @ edit of %z(href("%R/forumpost/%S?t=%c",p->pEdit->zUuid,cMode))\
444 @ %d(p->pEdit->sid)</a>
445 }
446 if( g.perm.Debug ){
447 @ <span class="debug">\
448 @ <a href="%R/artifact/%h(p->zUuid)">(artifact-%d(p->fpid))</a></span>
449 }
@@ -638,11 +638,11 @@
638 int iIndentScale = 4;
639
640 pThread = forumthread_create(froot, 1);
641 for(p=pThread->pFirst; p; p=p->pNext){
642 if( p->fpid==target ){
643 while( p->pEdit ) p = p->pEdit;
644 target = p->fpid;
645 break;
646 }
647 }
648 while( iIndentScale>1 && iIndentScale*pThread->mxIndent>25 ){
649
--- src/forum.c
+++ src/forum.c
@@ -39,11 +39,11 @@
39 int mfirt; /* Root in-reply-to */
40 int nReply; /* Number of replies to this entry */
41 int sid; /* Serial ID number */
42 char *zUuid; /* Artifact hash */
43 ForumEntry *pLeaf; /* Most recent edit for this entry */
44 ForumEntry *pEditPrev; /* This entry is an edit of pEditPrev */
45 ForumEntry *pNext; /* Next in chronological order */
46 ForumEntry *pPrev; /* Previous in chronological order */
47 ForumEntry *pDisplay; /* Next in display order */
48 int nIndent; /* Number of levels of indentation for this entry */
49 };
@@ -199,15 +199,15 @@
199 */
200 for(pEntry=pThread->pFirst; pEntry; pEntry=pEntry->pNext){
201 if( pEntry->fprev ){
202 ForumEntry *pBase = 0, *p;
203 p = forumentry_backward(pEntry->pPrev, pEntry->fprev);
204 pEntry->pEditPrev = p;
205 while( p ){
206 pBase = p;
207 p->pLeaf = pEntry;
208 p = pBase->pEditPrev;
209 }
210 for(p=pEntry->pNext; p; p=p->pNext){
211 if( p->mfirt==pEntry->fpid ) p->mfirt = pBase->fpid;
212 }
213 }
@@ -433,17 +433,17 @@
433 if( pPost->zThreadTitle ){
434 @ <h1>%h(pPost->zThreadTitle)</h1>
435 }
436 zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
437 zDisplayName = display_name_from_login(pPost->zUser);
438 sid = p->pEditPrev ? p->pEditPrev->sid : p->sid;
439 @ <h3 class='forumPostHdr'>(%d(sid)) By %h(zDisplayName) on %h(zDate)
440 fossil_free(zDisplayName);
441 fossil_free(zDate);
442 if( p->pEditPrev ){
443 @ edit of %z(href("%R/forumpost/%S?t=%c",p->pEditPrev->zUuid,cMode))\
444 @ %d(p->pEditPrev->sid)</a>
445 }
446 if( g.perm.Debug ){
447 @ <span class="debug">\
448 @ <a href="%R/artifact/%h(p->zUuid)">(artifact-%d(p->fpid))</a></span>
449 }
@@ -638,11 +638,11 @@
638 int iIndentScale = 4;
639
640 pThread = forumthread_create(froot, 1);
641 for(p=pThread->pFirst; p; p=p->pNext){
642 if( p->fpid==target ){
643 while( p->pEditPrev ) p = p->pEditPrev;
644 target = p->fpid;
645 break;
646 }
647 }
648 while( iIndentScale>1 && iIndentScale*pThread->mxIndent>25 ){
649

Keyboard Shortcuts

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