@@ -3435,22 +3435,54 @@
3435 3435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("+++ no more data (%d) +++\n", nEntry);
3436 3436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3437 3437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3438 3438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fchngQueryInit ) db_finalize(&fchngQuery);
3439 3439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
3441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
3442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** wiki_to_text(TEXT)
3443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
3444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return a plain-text rendering of Fossil-Wiki TEXT.
3445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
3446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void wiki_to_text_sqlfunc(
3447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_context *context,
3448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int argc,
3449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_value **argv
3450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
3451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zIn, *zOut;
3452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int nIn, nOut;
3453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob in, html, txt;
3454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zIn = (const char*)sqlite3_value_text(argv[0]);
3455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zIn==0 ) return;
3456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nIn = sqlite3_value_bytes(argv[0]);
3457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&in, zIn, nIn);
3458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&html, 0, 0);
3459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_convert(&in, &html, WIKI_INLINE);
3460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&in);
3461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&txt, 0, 0);
3462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ html_to_plaintext(blob_str(&html), &txt);
3463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&html);
3464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nOut = blob_size(&txt);
3465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zOut = blob_str(&txt);
3466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( fossil_isspace(zOut[0]) ){ zOut++; nOut--; }
3467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( nOut>0 && fossil_isspace(zOut[nOut-1]) ){ nOut--; }
3468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_result_text(context, zOut, nOut, SQLITE_TRANSIENT);
3469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&txt);
3470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
3440 3471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
3441 3472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
3442 3473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return a pointer to a static string that forms the basis for
3443 3474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** a timeline query for display on a TTY.
3444 3475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
3445 3476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *timeline_query_for_tty(void){
3477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int once = 0;
3446 3478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static const char zBaseSql[] =
3447 3479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ SELECT
3448 3480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ blob.rid AS rid,
3449 3481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ uuid,
3450 3482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ datetime(event.mtime,toLocal()) AS mDateTime,
3451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ coalesce(ecomment,comment)
3483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ wiki_to_text(coalesce(ecomment,comment))
3452 3484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ || ' (user: ' || coalesce(euser,user,'?')
3453 3485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ || (SELECT case when length(x)>0 then ' tags: ' || x else '' end
3454 3486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ FROM (SELECT group_concat(substr(tagname,5), ', ') AS x
3455 3487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ FROM tag, tagxref
3456 3488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
@@ -3474,10 +3506,15 @@
3474 3506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ AND tagxref.tagtype>0
3475 3507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ AND tagxref.rid=blob.rid
3476 3508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ WHERE blob.rid=event.objid
3477 3509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ AND tag.tagname='branch'
3478 3510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
;
3511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !once && g.db ){
3512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ once = 1;
3513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_create_function(g.db, "wiki_to_text", 1, SQLITE_UTF8, 0,
3514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_to_text_sqlfunc, 0, 0);
3515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
3479 3516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return zBaseSql;
3480 3517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
3481 3518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
3482 3519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
3483 3520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return true if the input string is a date in the ISO 8601 format:
3484 3521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!