diff --git a/adb/adb.cpp b/adb/adb.cpp index c3f1a9662..725aa9193 100644 --- a/adb/adb.cpp +++ b/adb/adb.cpp @@ -46,8 +46,6 @@ #include "adb_utils.h" #include "transport.h" -#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) - #if !ADB_HOST #include #include diff --git a/fastboot/engine.cpp b/fastboot/engine.cpp index a245e492e..728dcb8e8 100644 --- a/fastboot/engine.cpp +++ b/fastboot/engine.cpp @@ -38,8 +38,6 @@ #include #include -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) - #define OP_DOWNLOAD 1 #define OP_COMMAND 2 #define OP_QUERY 3 diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp index a29e2d83c..aeef43d1e 100644 --- a/fastboot/fastboot.cpp +++ b/fastboot/fastboot.cpp @@ -47,6 +47,7 @@ #include #include +#include #include #include #include @@ -67,8 +68,6 @@ #define O_BINARY 0 #endif -#define ARRAY_SIZE(a) (sizeof(a)/sizeof(*(a))) - char cur_product[FB_RESPONSE_SZ + 1]; static const char* serial = nullptr; @@ -986,7 +985,7 @@ static void do_update(Transport* transport, const char* filename, const char* sl setup_requirements(reinterpret_cast(data), sz); - for (size_t i = 0; i < ARRAY_SIZE(images); ++i) { + for (size_t i = 0; i < arraysize(images); ++i) { int fd = unzip_to_file(zip, images[i].img_name); if (fd == -1) { if (images[i].is_optional) { @@ -1048,7 +1047,7 @@ static void do_flashall(Transport* transport, const char* slot_override, int era setup_requirements(reinterpret_cast(data), sz); - for (size_t i = 0; i < ARRAY_SIZE(images); i++) { + for (size_t i = 0; i < arraysize(images); i++) { fname = find_item(images[i].part_name, product); fastboot_buffer buf; if (!load_buf(transport, fname.c_str(), &buf)) { diff --git a/libcutils/tests/PropertiesTest.cpp b/libcutils/tests/PropertiesTest.cpp index 5f2396b0b..f66590bb4 100644 --- a/libcutils/tests/PropertiesTest.cpp +++ b/libcutils/tests/PropertiesTest.cpp @@ -24,11 +24,12 @@ #include #include +#include + namespace android { #define STRINGIFY_INNER(x) #x #define STRINGIFY(x) STRINGIFY_INNER(x) -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) #define ASSERT_OK(x) ASSERT_EQ(0, (x)) #define EXPECT_OK(x) EXPECT_EQ(0, (x)) @@ -85,7 +86,7 @@ protected: } void ResetValue(unsigned char c = 0xFF) { - for (size_t i = 0; i < ARRAY_SIZE(mValue); ++i) { + for (size_t i = 0; i < arraysize(mValue); ++i) { mValue[i] = (char) c; } } @@ -177,7 +178,7 @@ TEST_F(PropertiesTest, GetBool) { * TRUE */ const char *valuesTrue[] = { "1", "true", "y", "yes", "on", }; - for (size_t i = 0; i < ARRAY_SIZE(valuesTrue); ++i) { + for (size_t i = 0; i < arraysize(valuesTrue); ++i) { ASSERT_OK(property_set(PROPERTY_TEST_KEY, valuesTrue[i])); bool val = property_get_bool(PROPERTY_TEST_KEY, /*default_value*/false); EXPECT_TRUE(val) << "Property should've been TRUE for value: '" << valuesTrue[i] << "'"; @@ -187,7 +188,7 @@ TEST_F(PropertiesTest, GetBool) { * FALSE */ const char *valuesFalse[] = { "0", "false", "n", "no", "off", }; - for (size_t i = 0; i < ARRAY_SIZE(valuesFalse); ++i) { + for (size_t i = 0; i < arraysize(valuesFalse); ++i) { ASSERT_OK(property_set(PROPERTY_TEST_KEY, valuesFalse[i])); bool val = property_get_bool(PROPERTY_TEST_KEY, /*default_value*/true); EXPECT_FALSE(val) << "Property shoud've been FALSE For string value: '" << valuesFalse[i] << "'"; @@ -200,7 +201,7 @@ TEST_F(PropertiesTest, GetBool) { "+1", " 1 ", " true", " true ", " y ", " yes", "yes ", "+0", "-0", "00", " 00 ", " false", "false ", }; - for (size_t i = 0; i < ARRAY_SIZE(valuesNeither); ++i) { + for (size_t i = 0; i < arraysize(valuesNeither); ++i) { ASSERT_OK(property_set(PROPERTY_TEST_KEY, valuesNeither[i])); // The default value should always be used @@ -249,9 +250,9 @@ TEST_F(PropertiesTest, GetInt64) { DEFAULT_VALUE, DEFAULT_VALUE, }; - ASSERT_EQ(ARRAY_SIZE(setValues), ARRAY_SIZE(getValues)); + ASSERT_EQ(arraysize(setValues), arraysize(getValues)); - for (size_t i = 0; i < ARRAY_SIZE(setValues); ++i) { + for (size_t i = 0; i < arraysize(setValues); ++i) { ASSERT_OK(property_set(PROPERTY_TEST_KEY, setValues[i])); int64_t val = property_get_int64(PROPERTY_TEST_KEY, DEFAULT_VALUE); @@ -296,9 +297,9 @@ TEST_F(PropertiesTest, GetInt32) { DEFAULT_VALUE, DEFAULT_VALUE, }; - ASSERT_EQ(ARRAY_SIZE(setValues), ARRAY_SIZE(getValues)); + ASSERT_EQ(arraysize(setValues), arraysize(getValues)); - for (size_t i = 0; i < ARRAY_SIZE(setValues); ++i) { + for (size_t i = 0; i < arraysize(setValues); ++i) { ASSERT_OK(property_set(PROPERTY_TEST_KEY, setValues[i])); int32_t val = property_get_int32(PROPERTY_TEST_KEY, DEFAULT_VALUE); diff --git a/libmemunreachable/Allocator.cpp b/libmemunreachable/Allocator.cpp index 68f654c29..6fe67a41f 100644 --- a/libmemunreachable/Allocator.cpp +++ b/libmemunreachable/Allocator.cpp @@ -52,8 +52,6 @@ constexpr unsigned int div_round_up(unsigned int x, unsigned int y) { return (x + y - 1) / y; } -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) - static constexpr size_t kPageSize = 4096; static constexpr size_t kChunkSize = 256 * 1024; static constexpr size_t kUsableChunkSize = kChunkSize - kPageSize; @@ -258,7 +256,7 @@ void* Chunk::Alloc() { unsigned int i = first_free_bitmap_; while (free_bitmap_[i] == 0) i++; - assert(i < ARRAY_SIZE(free_bitmap_)); + assert(i < arraysize(free_bitmap_)); unsigned int bit = __builtin_ffs(free_bitmap_[i]) - 1; assert(free_bitmap_[i] & (1U << bit)); free_bitmap_[i] &= ~(1U << bit); @@ -266,7 +264,7 @@ void* Chunk::Alloc() { assert(n < max_allocations_); unsigned int page = n * allocation_size_ / kPageSize; - assert(page / 32 < ARRAY_SIZE(dirty_pages_)); + assert(page / 32 < arraysize(dirty_pages_)); dirty_pages_[page / 32] |= 1U << (page % 32); free_count_--; @@ -285,7 +283,7 @@ void Chunk::Free(void* ptr) { unsigned int i = n / 32; unsigned int bit = n % 32; - assert(i < ARRAY_SIZE(free_bitmap_)); + assert(i < arraysize(free_bitmap_)); assert(!(free_bitmap_[i] & (1U << bit))); free_bitmap_[i] |= 1U << bit; free_count_++;