diff options
author | 2022-11-23 12:47:14 -0800 | |
---|---|---|
committer | 2022-11-24 17:47:23 +0000 | |
commit | 1be799e7263029c60e36f4e58d7ecd4f79921e9e (patch) | |
tree | 15422728b7a2d55d1db0f9cb517becfa4a2ae36c | |
parent | 105fb4b6942cfb832ef26b9c77796757cab830e0 (diff) |
Fail when file is not found
Currently, we just log an error and exit. Instead, we should fail when
file is not found.
Bug: 260115731
Test: m && validatekeymaps input.idc
Change-Id: Ia84f23533b6dafc4b9748d781ecefec108e8e20b
-rw-r--r-- | libs/input/PropertyMap.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/libs/input/PropertyMap.cpp b/libs/input/PropertyMap.cpp index 16ffa10223..ed9ac9fc72 100644 --- a/libs/input/PropertyMap.cpp +++ b/libs/input/PropertyMap.cpp @@ -116,25 +116,24 @@ android::base::Result<std::unique_ptr<PropertyMap>> PropertyMap::load(const char Tokenizer* rawTokenizer; status_t status = Tokenizer::open(String8(filename), &rawTokenizer); - std::unique_ptr<Tokenizer> tokenizer(rawTokenizer); if (status) { - ALOGE("Error %d opening property file %s.", status, filename); - } else { + return android::base::Error(-status) << "Could not open file: " << filename; + } #if DEBUG_PARSER_PERFORMANCE - nsecs_t startTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t startTime = systemTime(SYSTEM_TIME_MONOTONIC); #endif - Parser parser(outMap.get(), tokenizer.get()); - status = parser.parse(); + std::unique_ptr<Tokenizer> tokenizer(rawTokenizer); + Parser parser(outMap.get(), tokenizer.get()); + status = parser.parse(); #if DEBUG_PARSER_PERFORMANCE - nsecs_t elapsedTime = systemTime(SYSTEM_TIME_MONOTONIC) - startTime; - ALOGD("Parsed property file '%s' %d lines in %0.3fms.", - tokenizer->getFilename().string(), tokenizer->getLineNumber(), - elapsedTime / 1000000.0); + nsecs_t elapsedTime = systemTime(SYSTEM_TIME_MONOTONIC) - startTime; + ALOGD("Parsed property file '%s' %d lines in %0.3fms.", tokenizer->getFilename().string(), + tokenizer->getLineNumber(), elapsedTime / 1000000.0); #endif - if (status) { - return android::base::Error(BAD_VALUE) << "Could not parse " << filename; - } + if (status) { + return android::base::Error(BAD_VALUE) << "Could not parse " << filename; } + return std::move(outMap); } |