Loading system/gd/Android.bp +0 −2 Original line number Diff line number Diff line Loading @@ -377,7 +377,6 @@ cc_test { }, srcs: [ "hci/address.cc", ":BluetoothCommonSources", ":BluetoothPacketSources", ":BluetoothPacketParserTestPacketTestSources", ], Loading @@ -389,7 +388,6 @@ cc_test { cfi: true, }, static_libs: [ "libbluetooth_rust_interop", "libchrome", "libbt-platform-protos-lite", ], Loading system/gd/common/stop_watch.cc +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <sstream> #include <utility> #include "common/init_flags.h" #include "os/log.h" namespace bluetooth { Loading system/gd/common/strings.h +14 −1 Original line number Diff line number Diff line Loading @@ -37,10 +37,23 @@ namespace common { template <typename T> std::string ToHexString(T x) { if (x < 0) { if (x == INT_MIN) return "INT_MIN"; return "-" + ToHexString(-x); } std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << (unsigned int)x; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << (unsigned long)x; return tmp.str(); } template <> inline std::string ToHexString<signed long>(signed long x) { if (x < 0) { if (x == LONG_MIN) return "LONG_MIN"; return "-" + ToHexString<signed long>(-x); } std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(signed long) * 2) << (unsigned long)x; return tmp.str(); } Loading system/gd/common/strings_test.cc +33 −1 Original line number Diff line number Diff line Loading @@ -37,12 +37,44 @@ using bluetooth::common::ToHexString; using bluetooth::common::ToString; using bluetooth::common::Uint64FromString; static inline bool is_arch32() { return sizeof(long) == 4; } static inline bool is_arch64() { return sizeof(long) == 8; } TEST(StringsTest, to_hex_string_from_number) { ASSERT_EQ(ToHexString(0), "0x00000000"); ASSERT_EQ(ToHexString(3), "0x00000003"); ASSERT_EQ(ToHexString(25), "0x00000019"); ASSERT_EQ(ToHexString(-25), "-0x00000019"); ASSERT_EQ(ToHexString(INT_MIN + 1), "-0x7fffffff"); ASSERT_EQ(ToHexString(INT_MAX), "0x7fffffff"); ASSERT_EQ(ToHexString(INT_MIN), "INT_MIN"); if (is_arch32()) { ASSERT_EQ(ToHexString(1 + INT_MAX), "INT_MIN"); ASSERT_EQ(ToHexString(2 + INT_MAX), "-0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(-1 - INT_MIN), "0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(LONG_MAX), "0x7fffffff"); ASSERT_EQ(ToHexString(LONG_MAX - 1L), "0x7ffffffe"); ASSERT_EQ(ToHexString(LONG_MIN), "LONG_MIN"); ASSERT_EQ(ToHexString(LONG_MIN + 1L), "-0x7fffffff"); } else if (is_arch64()) { ASSERT_EQ(ToHexString((signed long)INT_MIN), "-0x0000000080000000"); ASSERT_EQ(ToHexString(1 + INT_MAX), "INT_MIN"); // Rolled over ASSERT_EQ(ToHexString(2 + INT_MAX), "-0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(1L + INT_MAX), "0x0000000080000000"); ASSERT_EQ(ToHexString(2L + INT_MAX), "0x0000000080000001"); ASSERT_EQ(ToHexString(-1L + INT_MIN), "-0x0000000080000001"); ASSERT_EQ(ToHexString(LONG_MAX), "0x7fffffffffffffff"); ASSERT_EQ(ToHexString(LONG_MAX - 1L), "0x7ffffffffffffffe"); ASSERT_EQ(ToHexString(LONG_MIN), "LONG_MIN"); ASSERT_EQ(ToHexString(LONG_MIN + 1L), "-0x7fffffffffffffff"); } else { LOG_ERROR("Unknown architecture"); ASSERT_TRUE(false); } ASSERT_EQ(ToHexString('a'), "0x61"); } Loading system/gd/hal/snoop_logger.cc +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <sstream> #include "common/circular_buffer.h" #include "common/init_flags.h" #include "common/strings.h" #include "os/files.h" #include "os/log.h" Loading Loading
system/gd/Android.bp +0 −2 Original line number Diff line number Diff line Loading @@ -377,7 +377,6 @@ cc_test { }, srcs: [ "hci/address.cc", ":BluetoothCommonSources", ":BluetoothPacketSources", ":BluetoothPacketParserTestPacketTestSources", ], Loading @@ -389,7 +388,6 @@ cc_test { cfi: true, }, static_libs: [ "libbluetooth_rust_interop", "libchrome", "libbt-platform-protos-lite", ], Loading
system/gd/common/stop_watch.cc +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <sstream> #include <utility> #include "common/init_flags.h" #include "os/log.h" namespace bluetooth { Loading
system/gd/common/strings.h +14 −1 Original line number Diff line number Diff line Loading @@ -37,10 +37,23 @@ namespace common { template <typename T> std::string ToHexString(T x) { if (x < 0) { if (x == INT_MIN) return "INT_MIN"; return "-" + ToHexString(-x); } std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << (unsigned int)x; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << (unsigned long)x; return tmp.str(); } template <> inline std::string ToHexString<signed long>(signed long x) { if (x < 0) { if (x == LONG_MIN) return "LONG_MIN"; return "-" + ToHexString<signed long>(-x); } std::stringstream tmp; tmp << "0x" << std::internal << std::hex << std::setfill('0') << std::setw(sizeof(signed long) * 2) << (unsigned long)x; return tmp.str(); } Loading
system/gd/common/strings_test.cc +33 −1 Original line number Diff line number Diff line Loading @@ -37,12 +37,44 @@ using bluetooth::common::ToHexString; using bluetooth::common::ToString; using bluetooth::common::Uint64FromString; static inline bool is_arch32() { return sizeof(long) == 4; } static inline bool is_arch64() { return sizeof(long) == 8; } TEST(StringsTest, to_hex_string_from_number) { ASSERT_EQ(ToHexString(0), "0x00000000"); ASSERT_EQ(ToHexString(3), "0x00000003"); ASSERT_EQ(ToHexString(25), "0x00000019"); ASSERT_EQ(ToHexString(-25), "-0x00000019"); ASSERT_EQ(ToHexString(INT_MIN + 1), "-0x7fffffff"); ASSERT_EQ(ToHexString(INT_MAX), "0x7fffffff"); ASSERT_EQ(ToHexString(INT_MIN), "INT_MIN"); if (is_arch32()) { ASSERT_EQ(ToHexString(1 + INT_MAX), "INT_MIN"); ASSERT_EQ(ToHexString(2 + INT_MAX), "-0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(-1 - INT_MIN), "0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(LONG_MAX), "0x7fffffff"); ASSERT_EQ(ToHexString(LONG_MAX - 1L), "0x7ffffffe"); ASSERT_EQ(ToHexString(LONG_MIN), "LONG_MIN"); ASSERT_EQ(ToHexString(LONG_MIN + 1L), "-0x7fffffff"); } else if (is_arch64()) { ASSERT_EQ(ToHexString((signed long)INT_MIN), "-0x0000000080000000"); ASSERT_EQ(ToHexString(1 + INT_MAX), "INT_MIN"); // Rolled over ASSERT_EQ(ToHexString(2 + INT_MAX), "-0x7fffffff"); // Rolled over ASSERT_EQ(ToHexString(1L + INT_MAX), "0x0000000080000000"); ASSERT_EQ(ToHexString(2L + INT_MAX), "0x0000000080000001"); ASSERT_EQ(ToHexString(-1L + INT_MIN), "-0x0000000080000001"); ASSERT_EQ(ToHexString(LONG_MAX), "0x7fffffffffffffff"); ASSERT_EQ(ToHexString(LONG_MAX - 1L), "0x7ffffffffffffffe"); ASSERT_EQ(ToHexString(LONG_MIN), "LONG_MIN"); ASSERT_EQ(ToHexString(LONG_MIN + 1L), "-0x7fffffffffffffff"); } else { LOG_ERROR("Unknown architecture"); ASSERT_TRUE(false); } ASSERT_EQ(ToHexString('a'), "0x61"); } Loading
system/gd/hal/snoop_logger.cc +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <sstream> #include "common/circular_buffer.h" #include "common/init_flags.h" #include "common/strings.h" #include "os/files.h" #include "os/log.h" Loading