Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Performance optimization in the building printf() logic makes the "fossil annotate" command run 6x faster. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
1e881f59786bd89129f2b3be03903d0a |
| User & Date: | drh 2020-02-25 11:32:25.081 |
References
|
2020-02-25
| ||
| 15:58 | Redo the enhancement of check-in [1e881f59786bd891] in a way that is portable to legacy systems. The strnlen() function is now always available. check-in: 1a84fe09c7 user: drh tags: trunk | |
Context
|
2020-02-25
| ||
| 11:56 | Change the sense of the "same_dline()" routine in the diff generator so that it returns 0 if the lines are the same and non-zero if the lines are different, as this helps the diff logic to run faster. check-in: 2f7527e88c user: drh tags: trunk | |
| 11:32 | Performance optimization in the building printf() logic makes the "fossil annotate" command run 6x faster. check-in: 1e881f5978 user: drh tags: trunk | |
|
2020-02-19
| ||
| 21:41 | Recognize the Pale Moon user agent string. check-in: 6d0be557dc user: mistachkin tags: trunk | |
Changes
Changes to src/printf.c.
| ︙ | ︙ | |||
196 197 198 199 200 201 202 | } /* ** Size of temporary conversion buffer. */ #define etBUFSIZE 500 | < < < < < < < < < < < < | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | } /* ** Size of temporary conversion buffer. */ #define etBUFSIZE 500 /* ** Return an appropriate set of flags for wiki_convert() for displaying ** comments on a timeline. These flag settings are determined by ** configuration parameters. ** ** The altForm2 argument is true for "%!W" (with the "!" alternate-form-2 ** flags) and is false for plain "%W". The ! indicates that the text is |
| ︙ | ︙ | |||
650 651 652 653 654 655 656 |
bufpt = buf;
break;
case etPATH: {
int i;
int limit = flag_alternateform ? va_arg(ap,int) : -1;
char *e = va_arg(ap,char*);
if( e==0 ){e="";}
| | | 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 |
bufpt = buf;
break;
case etPATH: {
int i;
int limit = flag_alternateform ? va_arg(ap,int) : -1;
char *e = va_arg(ap,char*);
if( e==0 ){e="";}
length = (int)strnlen(e,limit);
zExtra = bufpt = fossil_malloc(length+1);
for( i=0; i<length; i++ ){
if( e[i]=='\\' ){
bufpt[i]='/';
}else{
bufpt[i]=e[i];
}
|
| ︙ | ︙ | |||
679 680 681 682 683 684 685 |
if( bufpt==0 ){
bufpt = "";
}else if( xtype==etDYNSTRING ){
zExtra = bufpt;
}else if( xtype==etSTRINGID ){
precision = hash_digits(flag_altform2);
}
| | | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 |
if( bufpt==0 ){
bufpt = "";
}else if( xtype==etDYNSTRING ){
zExtra = bufpt;
}else if( xtype==etSTRINGID ){
precision = hash_digits(flag_altform2);
}
length = (int)strnlen(bufpt,limit);
if( precision>=0 && precision<length ) length = precision;
break;
}
case etBLOB: {
int limit = flag_alternateform ? va_arg(ap, int) : -1;
Blob *pBlob = va_arg(ap, Blob*);
bufpt = blob_buffer(pBlob);
|
| ︙ | ︙ |