test and fix Buffer::Iterator::WriteHtolsbU64, Buffer::Iterator::ReadU64 , Buffer::Iterator::ReadLsbtohU64
authorAdrian S.-W. Tam <adrian.sw.tam@gmail.com>
Thu May 07 09:13:06 2009 +0200 (9 months ago)
changeset 44429491c5faaec6
parent 4441 aa527a27537d
child 4443 b6f14f95c8af
test and fix Buffer::Iterator::WriteHtolsbU64, Buffer::Iterator::ReadU64 , Buffer::Iterator::ReadLsbtohU64
src/common/buffer.cc
     1.1 --- a/src/common/buffer.cc	Tue May 05 16:08:36 2009 +0200
     1.2 +++ b/src/common/buffer.cc	Thu May 07 09:13:06 2009 +0200
     1.3 @@ -827,7 +827,7 @@
     1.4    WriteU8 ((data >> 32) & 0xff);
     1.5    WriteU8 ((data >> 40) & 0xff);
     1.6    WriteU8 ((data >> 48) & 0xff);
     1.7 -  WriteU8 ((data >> 54) & 0xff);
     1.8 +  WriteU8 ((data >> 56) & 0xff);
     1.9  }
    1.10  
    1.11  void 
    1.12 @@ -903,7 +903,7 @@
    1.13    uint8_t byte5 = ReadU8 ();
    1.14    uint8_t byte6 = ReadU8 ();
    1.15    uint8_t byte7 = ReadU8 ();
    1.16 -  uint32_t data = byte7;
    1.17 +  uint64_t data = byte7;
    1.18    data <<= 8;
    1.19    data |= byte6;
    1.20    data <<= 8;
    1.21 @@ -1001,7 +1001,7 @@
    1.22    uint8_t byte5 = ReadU8 ();
    1.23    uint8_t byte6 = ReadU8 ();
    1.24    uint8_t byte7 = ReadU8 ();
    1.25 -  uint32_t data = byte7;
    1.26 +  uint64_t data = byte7;
    1.27    data <<= 8;
    1.28    data |= byte6;
    1.29    data <<= 8;
    1.30 @@ -1275,6 +1275,34 @@
    1.31    ENSURE_WRITTEN_BYTES (o, 6, 0xfe, 0xff, 0x69, 0xde, 0xad, 0xff);
    1.32    ENSURE_WRITTEN_BYTES (buffer, 7, 0xfd, 0xfd, 0xff, 0x69, 0xde, 0xad, 0xff);
    1.33  
    1.34 +  // test 64-bit read/write
    1.35 +  Buffer buff64;
    1.36 +  buff64.AddAtStart(8);
    1.37 +  i = buff64.Begin();
    1.38 +  i.WriteU64 (0x0123456789ABCDEFllu);
    1.39 +  ENSURE_WRITTEN_BYTES (buff64, 8, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01);
    1.40 +  i = buff64.Begin();
    1.41 +  if (i.ReadLsbtohU64() != 0x0123456789abcdefllu)
    1.42 +    {
    1.43 +       result = false;
    1.44 +    }
    1.45 +  i = buff64.Begin();
    1.46 +  i.WriteHtolsbU64 (0x0123456789ABCDEFllu);
    1.47 +  ENSURE_WRITTEN_BYTES (buff64, 8, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01);
    1.48 +  i = buff64.Begin();
    1.49 +  if (i.ReadLsbtohU64() != 0x0123456789abcdefllu)
    1.50 +    {
    1.51 +       result = false;
    1.52 +    }
    1.53 +  i = buff64.Begin();
    1.54 +  i.WriteHtonU64 (0x0123456789ABCDEFllu);
    1.55 +  ENSURE_WRITTEN_BYTES (buff64, 8, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef);
    1.56 +  i = buff64.Begin();
    1.57 +  if (i.ReadNtohU64() != 0x0123456789abcdefllu)
    1.58 +    {
    1.59 +       result = false;
    1.60 +    }
    1.61 +
    1.62    // test self-assignment
    1.63    {
    1.64        Buffer a = o;