Fossil

Check-in [2172c51377]
Login

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

Overview
Comment:Experimental refinements to the fix on this branch to make it slightly more efficient.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | nonHashFix
Files: files | file ages | folders
SHA3-256: 2172c51377e22644aa0734101ed07271e798508193c480081d92caec0dcf2b40
User & Date: mistachkin 2022-10-18 01:07:29.705
Context
2022-10-18
01:07
Experimental refinements to the fix on this branch to make it slightly more efficient. Leaf check-in: 2172c51377 user: mistachkin tags: nonHashFix
2022-10-17
01:03
Merge updates from trunk. check-in: 7489c8b932 user: mistachkin tags: nonHashFix
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/printf.c.
703
704
705
706
707
708
709



710
711
712
713
714
715

716
717
718
719
720
721
722
      case etSTRINGID:
      case etSTRING:
      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: {
        int limit = flag_alternateform ? va_arg(ap, int) : -1;
        Blob *pBlob = va_arg(ap, Blob*);
        bufpt = blob_buffer(pBlob);







>
>
>
|
|
|
|
|
<
>







703
704
705
706
707
708
709
710
711
712
713
714
715
716
717

718
719
720
721
722
723
724
725
      case etSTRINGID:
      case etSTRING:
      case etDYNSTRING: {
        int limit = flag_alternateform ? va_arg(ap,int) : -1;
        bufpt = va_arg(ap,char*);
        if( bufpt==0 ){
          bufpt = "";
          length = 0;
        }else{
          length = StrNLen32(bufpt, limit);
          if( xtype==etDYNSTRING ){
            zExtra = bufpt;
          }else if( xtype==etSTRINGID && validate16(bufpt, length) ){
            precision = hash_digits(flag_altform2);
          }

        }
        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);