Diff
Not logged in

Differences From Artifact [5b170dcb5c]:

To Artifact [e7bdf3fd12]:


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46







-







** a reply.
*/
struct ForumEntry {
  int fpid;              /* rid for this entry */
  int fprev;             /* zero if initial entry.  non-zero if an edit */
  int firt;              /* This entry replies to firt */
  int mfirt;             /* Root in-reply-to */
  int nReply;            /* Number of replies to this entry */
  int sid;               /* Serial ID number */
  char *zUuid;           /* Artifact hash */
  ForumEntry *pEditHead; /* Original, unedited entry */
  ForumEntry *pEditTail; /* Most recent edit for this entry */
  ForumEntry *pEditNext; /* This entry is edited by pEditNext */
  ForumEntry *pEditPrev; /* This entry is an edit of pEditPrev */
  ForumEntry *pNext;     /* Next in chronological order */
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
135
136
137
138
139
140
141

142
143
144
145
146
147
148







-







  for(p=pBase->pNext; p; p=p->pNext){
    if( p->fprev==0 && p->mfirt==pBase->fpid ){
      if( pPrev ){
        pPrev->nIndent = pBase->nIndent + 1;
        forumentry_add_to_display(pThread, pPrev);
        forumthread_display_order(pThread, pPrev);
      }
      pBase->nReply++;
      pPrev = p;
    }
  }
  if( pPrev ){
    pPrev->nIndent = pBase->nIndent + 1;
    if( pPrev->nIndent>pThread->mxIndent ) pThread->mxIndent = pPrev->nIndent;
    forumentry_add_to_display(pThread, pPrev);
295
296
297
298
299
300
301
302

303
304

305
306

307
308
309
310
311
312
313
293
294
295
296
297
298
299

300
301

302
303

304
305
306
307
308
309
310
311







-
+

-
+

-
+







  fossil_print("fpid  = %d\n", fpid);
  fossil_print("froot = %d\n", froot);
  pThread = forumthread_create(froot, 1);
  fossil_print("Chronological:\n");
  fossil_print(
/* 0         1         2         3         4         5         6         7    */
/*  123456789 123456789 123456789 123456789 123456789 123456789 123456789 123 */
  " sid      fpid      firt     fprev     mfirt     pEditTail  nReply  hash\n");
  " sid      fpid      firt     fprev     mfirt pEditTail hash\n");
  for(p=pThread->pFirst; p; p=p->pNext){
    fossil_print("%4d %9d %9d %9d %11d %9d  %6d  %8.8s\n", p->sid,
    fossil_print("%4d %9d %9d %9d %9d %9d %8.8s\n", p->sid,
       p->fpid, p->firt, p->fprev, p->mfirt,
       p->pEditTail ? p->pEditTail->fpid : 0, p->nReply, p->zUuid);
       p->pEditTail ? p->pEditTail->fpid : 0, p->zUuid);
  }
  fossil_print("\nDisplay\n");
  for(p=pThread->pDisplay; p; p=p->pDisplay){
    fossil_print("%*s", (p->nIndent-1)*3, "");
    if( p->pEditTail ){
      fossil_print("%d->%d\n", p->fpid, p->pEditTail->fpid);
    }else{
520
521
522
523
524
525
526
527

528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
518
519
520
521
522
523
524

525
526
527
528
529
530
531
532

533
534
535
536
537
538
539







-
+







-







  /* Undocumented "threadtable" query parameter causes thread table
  ** to be displayed for debugging purposes.
  */
  if( PB("threadtable") ){
    @ <hr>
    @ <table border="1" cellpadding="3" cellspacing="0">
    @ <tr><th>sid<th>fpid<th>firt<th>fprev<th>mfirt<th>pEditHead<th>pEditTail\
    @ <th>pEditNext<th>pEditPrev<th>nReply<th>hash
    @ <th>pEditNext<th>pEditPrev<th>hash
    for(p=pThread->pFirst; p; p=p->pNext){
      @ <tr><td>%d(p->sid)<td>%d(p->fpid)<td>%d(p->firt)\
      @ <td>%d(p->fprev)<td>%d(p->mfirt)\
      @ <td>%d(p->pEditHead?p->pEditHead->fpid:0)\
      @ <td>%d(p->pEditTail?p->pEditTail->fpid:0)\
      @ <td>%d(p->pEditNext?p->pEditNext->fpid:0)\
      @ <td>%d(p->pEditPrev?p->pEditPrev->fpid:0)\
      @ <td>%d(p->nReply)\
      @ <td>%S(p->zUuid)</tr>
    }
    @ </table>
  }

  forumthread_delete(pThread);
}