Fossil SCM

Omit unused c= parameters from hyperlinks in the /timeline.

drh 2015-02-09 10:13 trunk
Commit 65b729ac31174784ed2b5fafba64b68f13ab462e
2 files changed +5 -1 +9 -2
+5 -1
--- src/timeline.c
+++ src/timeline.c
@@ -1472,24 +1472,28 @@
14721472
}else{
14731473
blob_append_sql(&sql,
14741474
" AND event.mtime>=%.17g ORDER BY event.mtime ASC",
14751475
rAfter-ONE_SECOND);
14761476
}
1477
+ zCirca = 0;
1478
+ url_add_parameter(&url, "c", 0);
14771479
}else if( rBefore>0.0 ){
14781480
blob_append_sql(&sql,
14791481
" AND event.mtime<=%.17g ORDER BY event.mtime DESC",
14801482
rBefore+ONE_SECOND);
1483
+ zCirca = 0;
1484
+ url_add_parameter(&url, "c", 0);
14811485
}else if( rCirca>0.0 ){
14821486
Blob sql2;
14831487
blob_init(&sql2, blob_sql_text(&sql), -1);
14841488
blob_append_sql(&sql2,
14851489
" AND event.mtime<=%f ORDER BY event.mtime DESC LIMIT %d",
14861490
rCirca, (nEntry+1)/2
14871491
);
14881492
db_multi_exec("%s", blob_sql_text(&sql2));
14891493
blob_reset(&sql2);
1490
- blob_append_sql(&sql,
1494
+ blob_append_sql(&sql,
14911495
" AND event.mtime>=%f ORDER BY event.mtime ASC",
14921496
rCirca
14931497
);
14941498
nEntry -= (nEntry+1)/2;
14951499
}else{
14961500
--- src/timeline.c
+++ src/timeline.c
@@ -1472,24 +1472,28 @@
1472 }else{
1473 blob_append_sql(&sql,
1474 " AND event.mtime>=%.17g ORDER BY event.mtime ASC",
1475 rAfter-ONE_SECOND);
1476 }
 
 
1477 }else if( rBefore>0.0 ){
1478 blob_append_sql(&sql,
1479 " AND event.mtime<=%.17g ORDER BY event.mtime DESC",
1480 rBefore+ONE_SECOND);
 
 
1481 }else if( rCirca>0.0 ){
1482 Blob sql2;
1483 blob_init(&sql2, blob_sql_text(&sql), -1);
1484 blob_append_sql(&sql2,
1485 " AND event.mtime<=%f ORDER BY event.mtime DESC LIMIT %d",
1486 rCirca, (nEntry+1)/2
1487 );
1488 db_multi_exec("%s", blob_sql_text(&sql2));
1489 blob_reset(&sql2);
1490 blob_append_sql(&sql,
1491 " AND event.mtime>=%f ORDER BY event.mtime ASC",
1492 rCirca
1493 );
1494 nEntry -= (nEntry+1)/2;
1495 }else{
1496
--- src/timeline.c
+++ src/timeline.c
@@ -1472,24 +1472,28 @@
1472 }else{
1473 blob_append_sql(&sql,
1474 " AND event.mtime>=%.17g ORDER BY event.mtime ASC",
1475 rAfter-ONE_SECOND);
1476 }
1477 zCirca = 0;
1478 url_add_parameter(&url, "c", 0);
1479 }else if( rBefore>0.0 ){
1480 blob_append_sql(&sql,
1481 " AND event.mtime<=%.17g ORDER BY event.mtime DESC",
1482 rBefore+ONE_SECOND);
1483 zCirca = 0;
1484 url_add_parameter(&url, "c", 0);
1485 }else if( rCirca>0.0 ){
1486 Blob sql2;
1487 blob_init(&sql2, blob_sql_text(&sql), -1);
1488 blob_append_sql(&sql2,
1489 " AND event.mtime<=%f ORDER BY event.mtime DESC LIMIT %d",
1490 rCirca, (nEntry+1)/2
1491 );
1492 db_multi_exec("%s", blob_sql_text(&sql2));
1493 blob_reset(&sql2);
1494 blob_append_sql(&sql,
1495 " AND event.mtime>=%f ORDER BY event.mtime ASC",
1496 rCirca
1497 );
1498 nEntry -= (nEntry+1)/2;
1499 }else{
1500
+9 -2
--- src/url.c
+++ src/url.c
@@ -460,21 +460,28 @@
460460
fossil_free(p->azValue);
461461
url_initialize(p, p->zBase);
462462
}
463463
464464
/*
465
-** Add a fixed parameter to an HQuery.
465
+** Add a fixed parameter to an HQuery. Or remove the parameters if zValue==0.
466466
*/
467467
void url_add_parameter(HQuery *p, const char *zName, const char *zValue){
468468
int i;
469469
for(i=0; i<p->nParam; i++){
470470
if( fossil_strcmp(p->azName[i],zName)==0 ){
471
- p->azValue[i] = zValue;
471
+ if( zValue==0 ){
472
+ p->nParam--;
473
+ p->azValue[i] = p->azValue[p->nParam];
474
+ p->azName[i] = p->azName[p->nParam];
475
+ }else{
476
+ p->azValue[i] = zValue;
477
+ }
472478
return;
473479
}
474480
}
475481
assert( i==p->nParam );
482
+ if( zValue==0 ) return;
476483
if( i>=p->nAlloc ){
477484
p->nAlloc = p->nAlloc*2 + 10;
478485
p->azName = fossil_realloc(p->azName, sizeof(p->azName[0])*p->nAlloc);
479486
p->azValue = fossil_realloc(p->azValue, sizeof(p->azValue[0])*p->nAlloc);
480487
}
481488
--- src/url.c
+++ src/url.c
@@ -460,21 +460,28 @@
460 fossil_free(p->azValue);
461 url_initialize(p, p->zBase);
462 }
463
464 /*
465 ** Add a fixed parameter to an HQuery.
466 */
467 void url_add_parameter(HQuery *p, const char *zName, const char *zValue){
468 int i;
469 for(i=0; i<p->nParam; i++){
470 if( fossil_strcmp(p->azName[i],zName)==0 ){
471 p->azValue[i] = zValue;
 
 
 
 
 
 
472 return;
473 }
474 }
475 assert( i==p->nParam );
 
476 if( i>=p->nAlloc ){
477 p->nAlloc = p->nAlloc*2 + 10;
478 p->azName = fossil_realloc(p->azName, sizeof(p->azName[0])*p->nAlloc);
479 p->azValue = fossil_realloc(p->azValue, sizeof(p->azValue[0])*p->nAlloc);
480 }
481
--- src/url.c
+++ src/url.c
@@ -460,21 +460,28 @@
460 fossil_free(p->azValue);
461 url_initialize(p, p->zBase);
462 }
463
464 /*
465 ** Add a fixed parameter to an HQuery. Or remove the parameters if zValue==0.
466 */
467 void url_add_parameter(HQuery *p, const char *zName, const char *zValue){
468 int i;
469 for(i=0; i<p->nParam; i++){
470 if( fossil_strcmp(p->azName[i],zName)==0 ){
471 if( zValue==0 ){
472 p->nParam--;
473 p->azValue[i] = p->azValue[p->nParam];
474 p->azName[i] = p->azName[p->nParam];
475 }else{
476 p->azValue[i] = zValue;
477 }
478 return;
479 }
480 }
481 assert( i==p->nParam );
482 if( zValue==0 ) return;
483 if( i>=p->nAlloc ){
484 p->nAlloc = p->nAlloc*2 + 10;
485 p->azName = fossil_realloc(p->azName, sizeof(p->azName[0])*p->nAlloc);
486 p->azValue = fossil_realloc(p->azValue, sizeof(p->azValue[0])*p->nAlloc);
487 }
488

Keyboard Shortcuts

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