Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Remove mfirt |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | andygoth-forum-refactor |
| Files: | files | file ages | folders |
| SHA3-256: |
a8d90b1f4fe63bb607b7d5b4cab6ab1b |
| User & Date: | andygoth 2020-08-21 22:03:37.956 |
Context
|
2020-08-21
| ||
| 22:58 | Extend translator to support two- and three-argument printf specifiers, e.g. "%.*s(len)(str)" or "%*.*d(width)(prec)(val)" ... (check-in: df7b0c3186 user: andygoth tags: andygoth-forum-refactor) | |
| 22:03 | Remove mfirt ... (check-in: a8d90b1f4f user: andygoth tags: andygoth-forum-refactor) | |
| 21:52 | Remove fprev ... (check-in: d585c34707 user: andygoth tags: andygoth-forum-refactor) | |
Changes
Changes to src/forum.c.
| ︙ | ︙ | |||
30 31 32 33 34 35 36 |
/*
** Each instance of the following object represents a single message -
** either the initial post, an edit to a post, a reply, or an edit to
** a reply.
*/
struct ForumEntry {
int fpid; /* rid for this entry */
| < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
/*
** Each instance of the following object represents a single message -
** either the initial post, an edit to a post, a reply, or an edit to
** a reply.
*/
struct ForumEntry {
int fpid; /* rid for this entry */
int sid; /* Serial ID number */
char *zUuid; /* Artifact hash */
ForumEntry *pIrt; /* This entry replies to pIrt */
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 */
|
| ︙ | ︙ | |||
127 128 129 130 131 132 133 134 |
*/
static void forumthread_display_order(
ForumThread *pThread, /* The complete thread */
ForumEntry *pBase /* Add replies to this entry */
){
ForumEntry *p;
ForumEntry *pPrev = 0;
for(p=pBase->pNext; p; p=p->pNext){
| > | > > | | | | | | > | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
*/
static void forumthread_display_order(
ForumThread *pThread, /* The complete thread */
ForumEntry *pBase /* Add replies to this entry */
){
ForumEntry *p;
ForumEntry *pPrev = 0;
ForumEntry *pBaseIrt;
for(p=pBase->pNext; p; p=p->pNext){
if( !p->pEditPrev && p->pIrt ){
pBaseIrt = p->pIrt->pEditHead ? p->pIrt->pEditHead : p->pIrt;
if( pBaseIrt==pBase ){
if( pPrev ){
pPrev->nIndent = pBase->nIndent + 1;
forumentry_add_to_display(pThread, pPrev);
forumthread_display_order(pThread, pPrev);
}
pPrev = p;
}
}
}
if( pPrev ){
pPrev->nIndent = pBase->nIndent + 1;
if( pPrev->nIndent>pThread->mxIndent ) pThread->mxIndent = pPrev->nIndent;
forumentry_add_to_display(pThread, pPrev);
forumthread_display_order(pThread, pPrev);
|
| ︙ | ︙ | |||
170 171 172 173 174 175 176 |
while( db_step(&q)==SQLITE_ROW ){
pEntry = fossil_malloc( sizeof(*pEntry) );
memset(pEntry, 0, sizeof(*pEntry));
pEntry->fpid = db_column_int(&q, 0);
firt = db_column_int(&q, 1);
fprev = db_column_int(&q, 2);
pEntry->zUuid = fossil_strdup(db_column_text(&q,3));
| < < < | < < < < | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
while( db_step(&q)==SQLITE_ROW ){
pEntry = fossil_malloc( sizeof(*pEntry) );
memset(pEntry, 0, sizeof(*pEntry));
pEntry->fpid = db_column_int(&q, 0);
firt = db_column_int(&q, 1);
fprev = db_column_int(&q, 2);
pEntry->zUuid = fossil_strdup(db_column_text(&q,3));
pEntry->sid = sid++;
pEntry->pPrev = pThread->pLast;
pEntry->pNext = 0;
if( pThread->pLast==0 ){
pThread->pFirst = pEntry;
}else{
pThread->pLast->pNext = pEntry;
}
if( firt ){
pEntry->pIrt = pThread->pFirst;
for(p=pThread->pFirst; p; p=p->pNext){
if( p->fpid==firt ){
pEntry->pIrt = p;
break;
}
}
}
if( fprev ){
p = forumentry_backward(pEntry->pPrev, fprev);
p->pEditNext = pEntry;
pEntry->pEditPrev = p;
pEntry->pEditHead = p->pEditHead ? p->pEditHead : p;
for(; p; p=p->pEditPrev ){
p->pEditTail = pEntry;
}
}
pThread->pLast = pEntry;
}
db_finalize(&q);
if( computeHierarchy ){
|
| ︙ | ︙ | |||
289 290 291 292 293 294 295 |
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 */
| | | < | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
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 pIrt pEditPrev pEditTail hash\n");
for(p=pThread->pFirst; p; p=p->pNext){
fossil_print("%4d %9d %9d %9d %9d %8.8s\n", p->sid,
p->fpid, p->pIrt ? p->pIrt->fpid : 0,
p->pEditPrev ? p->pEditPrev->fpid : 0,
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);
|
| ︙ | ︙ | |||
511 512 513 514 515 516 517 |
/* Undocumented "threadtable" query parameter causes thread table
** to be displayed for debugging purposes.
*/
if( PB("threadtable") ){
@ <hr>
@ <table border="1" cellpadding="3" cellspacing="0">
| | < | 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 |
/* 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>pIrt<th>pEditHead<th>pEditTail\
@ <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->pIrt?p->pIrt->fpid:0)\
@ <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>%S(p->zUuid)</tr>
}
@ </table>
|
| ︙ | ︙ |