Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db5758ef authored by Pavlin Radoslavov's avatar Pavlin Radoslavov Committed by Jack He
Browse files

Fix the implementation of htonll()

Prior the fix, all btsnoop entries had same timestamp.

Bug: 35111777
Test: Examine the btsnoop log file with Wireshark
Change-Id: I9e664475ff5b4ffc543d95b90a47c7f80fdc0370
parent a1475251
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -194,9 +194,11 @@ typedef struct {
} __attribute__((__packed__)) btsnoop_header_t;

static uint64_t htonll(uint64_t ll) {
  uint32_t l = 1;
  if (*(reinterpret_cast<uint8_t*>(&l)) == 1)
    return htonl((ll & 0xffffffff) << 32LL) | htonl(ll >> 32);
  const uint32_t l = 1;
  if (*(reinterpret_cast<const uint8_t*>(&l)) == 1)
    return static_cast<uint64_t>(htonl(ll & 0xffffffff)) << 32 |
           htonl(ll >> 32);

  return ll;
}