zip_writer.cc: update powerof2 and use it unconditionally
Update the powerof2 macro to one that is integer overflow safe. This definition is the same one used by bionic, but cleaned up using clang_format. Unconditionally use this powerof2 macro, to ensure consistency across all the build environments. Test: compiles and boots Change-Id: I21bfaf2360d1f77caf96365e20490b1deadfdfe0
This commit is contained in:
parent
29d2b05194
commit
6d3c80b85a
|
@ -30,9 +30,13 @@
|
|||
#include "entry_name_utils-inl.h"
|
||||
#include "zip_archive_common.h"
|
||||
|
||||
#if !defined(powerof2)
|
||||
#define powerof2(x) ((((x)-1) & (x)) == 0)
|
||||
#endif
|
||||
#undef powerof2
|
||||
#define powerof2(x) \
|
||||
({ \
|
||||
__typeof__(x) _x = (x); \
|
||||
__typeof__(x) _x2; \
|
||||
__builtin_add_overflow(_x, -1, &_x2) ? 1 : ((_x2 & _x) == 0); \
|
||||
})
|
||||
|
||||
/* Zip compression methods we support */
|
||||
enum {
|
||||
|
|
Loading…
Reference in New Issue