Remove EXPAND/STRINGIFY macros.
They are error-prone by putting anything into a string (e.g. EXPAND(RECOVERY_API_VERSION) would become "RECOVER_API_VERSION" if we forgot to pass -DRECOVERY_API_VERSION=3). RECOVERY_API_VERSION is the only user (in bootable/recovery) that gets stringified. Assign it to a typed var and sanity check the value. Don't see other reference to the macros from device-specific recovery directories (they can still define that locally if really needed). Test: recovery_component_test Test: Sideload an OTA on angler and marlin respectively. Change-Id: I358bbdf8f0a99db5ce4c7bc2fdcafe8013501b64
This commit is contained in:
parent
89394632b1
commit
ec9706738f
3 changed files with 4 additions and 4 deletions
4
common.h
4
common.h
|
@ -22,8 +22,8 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
#define STRINGIFY(x) #x
|
||||
#define EXPAND(x) STRINGIFY(x)
|
||||
static constexpr int kRecoveryApiVersion = RECOVERY_API_VERSION; // Defined in Android.mk.
|
||||
static_assert(kRecoveryApiVersion >= 3, "Invalid recovery API version.");
|
||||
|
||||
class RecoveryUI;
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ int update_binary_command(const std::string& path, ZipArchiveHandle zip, int ret
|
|||
|
||||
*cmd = {
|
||||
binary,
|
||||
EXPAND(RECOVERY_API_VERSION), // defined in Android.mk
|
||||
std::to_string(kRecoveryApiVersion),
|
||||
std::to_string(status_fd),
|
||||
path,
|
||||
};
|
||||
|
|
|
@ -1501,7 +1501,7 @@ int main(int argc, char **argv) {
|
|||
property_list(print_property, NULL);
|
||||
printf("\n");
|
||||
|
||||
ui->Print("Supported API: %d\n", RECOVERY_API_VERSION);
|
||||
ui->Print("Supported API: %d\n", kRecoveryApiVersion);
|
||||
|
||||
int status = INSTALL_SUCCESS;
|
||||
|
||||
|
|
Loading…
Reference in a new issue