Fossil

Check-in [7eba14d1e2]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Experimental fix to make '%!S' in hyperlinks stop truncating things that are not check-in identifiers. This should probably be optimzied by refactoring the surrounding code to avoid calculating the length more than once.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | nonHashFix
Files: files | file ages | folders
SHA3-256: 7eba14d1e2696fa234840ee8cde24ba0de9176f888a49a92b156c68f43b5106c
User & Date: mistachkin 2022-07-01 01:44:58.826
Context
2022-10-17
01:03
Merge updates from trunk. check-in: 7489c8b932 user: mistachkin tags: nonHashFix
2022-07-01
01:44
Experimental fix to make '%!S' in hyperlinks stop truncating things that are not check-in identifiers. This should probably be optimzied by refactoring the surrounding code to avoid calculating the length more than once. check-in: 7eba14d1e2 user: mistachkin tags: nonHashFix
01:31
Update the custom makefile for MinGW. check-in: eddd6b4ad5 user: mistachkin tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/printf.c.
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
      case etDYNSTRING: {
        int limit = flag_alternateform ? va_arg(ap,int) : -1;
        bufpt = va_arg(ap,char*);
        if( bufpt==0 ){
          bufpt = "";
        }else if( xtype==etDYNSTRING ){
          zExtra = bufpt;
        }else if( xtype==etSTRINGID ){
          precision = hash_digits(flag_altform2);
        }
        length = StrNLen32(bufpt, limit);
        if( precision>=0 && precision<length ) length = precision;
        break;
      }
      case etBLOB: {







|







705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
      case etDYNSTRING: {
        int limit = flag_alternateform ? va_arg(ap,int) : -1;
        bufpt = va_arg(ap,char*);
        if( bufpt==0 ){
          bufpt = "";
        }else if( xtype==etDYNSTRING ){
          zExtra = bufpt;
        }else if( xtype==etSTRINGID && validate16(bufpt, -1) ){
          precision = hash_digits(flag_altform2);
        }
        length = StrNLen32(bufpt, limit);
        if( precision>=0 && precision<length ) length = precision;
        break;
      }
      case etBLOB: {