Ticket Change Details
Not logged in
Overview

Artifact ID: b546f85a26b56d21a5ff86aa5a1360684c2d5162
Ticket: 8967ea1df4f51af1ad3cbad78e0bcc582c6418b6
i18n, webui: link to tag with non-ascii chars is broken in timeline
User & Date: anonymous 2011-05-31 06:31:40
Changes

  1. Appended to comment:
    
    
    <hr /><i>anonymous claiming to be tsul added on 2011-05-31 06:31:40 UTC:</i><br />
    There is a bug in the <code>timeline.c:www_print_timeline()</code> with a call to <code>blob_appendf</code>: the format specifier '%t' (httpize) is used with the precision of the input string length. But the output string can obviously be larger.
    
    Here is the working solution removing the precision specifier from the '%t':
    <verbatim>
    V:\dvcs\src>fossil info
    project-name: Fossil
    repository:   R:/distr/lang/dvcs/fossil/fossil.fsl
    local-root:   V:/dvcs/
    user-home:    C:/Documents and Settings/Tsul/Application Data
    project-code: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
    server-code:  dde830bac2d739261e1afb9192dd3facad083e62
    checkout:     0448438c56d836a8a8261a0dd97bd82f320d832a 2011-05-28 18:51:22 UTC
    parent:       6d35cde78d475f86f75746e65b6e37ca71f8406b 2011-05-28 17:56:04 UTC
    child:        0e23d0721318eecdfef70e23da71dfb32110ecfb 2011-05-29 07:39:25 UTC
    child:        3abab7e177f063e158fea94cfd13ab5d184f6266 2011-05-30 16:46:50 UTC
    child:        62284df93a91fbb86ebb66a645891900c559d840 2011-05-30 07:04:26 UTC
    tags:         trunk, release
    comment:      Release (user: drh)
    
    V:\dvcs\src>fossil diff timeline.c
    --- timeline.c
    +++ timeline.c
    @@ -300,12 +300,12 @@
             blob_zero(&links);
             while( z && z[0] ){
               for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){}
               if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){
                 blob_appendf(&links,
    -                  "<a href=\"%s/timeline?r=%.*t&nd&c=%s\">%.*h</a>%.2s",
    -                  g.zTop, i, z, zDate, i, z, &z[i]
    +                  "<a href=\"%s/timeline?r=%t&nd&c=%s\">%.*h</a>%.2s",
    +                  g.zTop, z, zDate, i, z, &z[i]
                 );
               }else{
                 blob_appendf(&links, "%.*h", i+2, z);
               }
               if( z[i]==0 ) break;
    </verbatim>