/ Check-in [80c64e16]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

Overview
Comment:Fix another instance of the same warning-inducing expression in util.c.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | mistake
Files: files | file ages | folders
SHA1: 80c64e16e38c3acf8dad4248ba3efbb63a9bf68e
User & Date: dan 2010-03-03 08:18:09
Context
2010-03-03
08:18
Fix another instance of the same warning-inducing expression in util.c. Closed-Leaf check-in: 80c64e16 user: dan tags: mistake
08:12
Silence a compiler warning by using a constant value instead of a constant expression that some compilers mistakenly believe causes bitshift overflow. check-in: 587109c8 user: dan tags: mistake
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/util.c.

897
898
899
900
901
902
903
904
905
906


907
908
909
910
911
912
913

  p++;
  a = a<<14;
  a |= *p;
  /* a: p0<<28 | p2<<14 | p4 (unmasked) */
  if (!(a&0x80))
  {
    /* Walues  between 268435456 and 34359738367 */
    a &= (0x1f<<28)|(0x7f<<14)|(0x7f);
    b &= (0x1f<<28)|(0x7f<<14)|(0x7f);


    b = b<<7;
    *v = a | b;
    return 5;
  }

  /* We can only reach this point when reading a corrupt database
  ** file.  In that case we are not in any hurry.  Use the (relatively







|
|
|
>
>







897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915

  p++;
  a = a<<14;
  a |= *p;
  /* a: p0<<28 | p2<<14 | p4 (unmasked) */
  if (!(a&0x80))
  {
    /* Values  between 268435456 and 34359738367 */
    /* assert( ((0xFF<<28)|(0x7f<<14)|(0x7f))==0xf01fc07f ); */
    a &= 0xf01fc07f;
    b &= 0xf01fc07f;

    b = b<<7;
    *v = a | b;
    return 5;
  }

  /* We can only reach this point when reading a corrupt database
  ** file.  In that case we are not in any hurry.  Use the (relatively