Fix header-abi-diff skips diff when config.json is not found
Skip loading config.json when the config.json is not found so the
header-abi-diff will still perform abi diff.
Test: preform abi diff without config.json
Bug: 243328443
Change-Id: I92ebf7e7bfe6abb57bdefa211eaf604efaee517e
diff --git a/vndk/tools/header-checker/src/diff/header_abi_diff.cpp b/vndk/tools/header-checker/src/diff/header_abi_diff.cpp
index 0ce3703..224f522 100644
--- a/vndk/tools/header-checker/src/diff/header_abi_diff.cpp
+++ b/vndk/tools/header-checker/src/diff/header_abi_diff.cpp
@@ -213,7 +213,10 @@
int main(int argc, const char **argv) {
llvm::cl::ParseCommandLineOptions(argc, argv, "header-checker");
- ReadConfigFile(GetConfigFilePath(old_dump));
+ const std::string config_file_path = GetConfigFilePath(old_dump);
+ if (llvm::sys::fs::exists(config_file_path)) {
+ ReadConfigFile(config_file_path);
+ }
std::set<std::string> ignored_symbols;
if (llvm::sys::fs::exists(ignore_symbol_list)) {
diff --git a/vndk/tools/header-checker/src/utils/config_file.cpp b/vndk/tools/header-checker/src/utils/config_file.cpp
index c6a8eb2..e3efb65 100644
--- a/vndk/tools/header-checker/src/utils/config_file.cpp
+++ b/vndk/tools/header-checker/src/utils/config_file.cpp
@@ -72,10 +72,7 @@
bool ConfigFile::Load(const std::string &path) {
std::ifstream stream(path);
- if (stream.is_open()) {
- return Load(stream);
- }
- return false;
+ return stream && Load(stream);
}
} // namespace utils