summaryrefslogtreecommitdiffstats
path: root/libs/utils
diff options
context:
space:
mode:
authorMÃ¥rten Kongstad <marten.kongstad@sonyericsson.com>2011-05-19 16:02:35 +0200
committerAlex Ray <aray@google.com>2013-07-30 13:56:56 -0700
commitb0ce850fac6b14a54990b98b3ac0b34bd2416653 (patch)
treeac9d16e6802bbfe6cc8f40a4886b3140a4dc3aa4 /libs/utils
parent1a20993c1000da3f008b34b7a5e6dbbd6fe291a6 (diff)
downloadsystem_core-b0ce850fac6b14a54990b98b3ac0b34bd2416653.zip
system_core-b0ce850fac6b14a54990b98b3ac0b34bd2416653.tar.gz
system_core-b0ce850fac6b14a54990b98b3ac0b34bd2416653.tar.bz2
Continue idmap generation even if name lookup fails.
In resources.arsc files, a resource is represented by a specification block and one or more value blocks. In rare cases, a resource name is also given a new resource ID, a specification block and no values blocks. This commit ensures idmap generation does not fail if such an entry is encountered. Change-Id: I32302a0b07a7a320b7eeb31886931be3bb7b7e9a
Diffstat (limited to 'libs/utils')
-rw-r--r--libs/utils/ResourceTypes.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp
index 784c9d2..c001ec9 100644
--- a/libs/utils/ResourceTypes.cpp
+++ b/libs/utils/ResourceTypes.cpp
@@ -4314,7 +4314,8 @@ status_t ResTable::createIdmap(const ResTable& overlay, uint32_t originalCrc, ui
| (0x0000ffff & (entryIndex));
resource_name resName;
if (!this->getResourceName(resID, &resName)) {
- return UNKNOWN_ERROR;
+ LOGW("idmap: resource 0x%08x has spec but lacks values, skipping\n", resID);
+ continue;
}
const String16 overlayType(resName.type, resName.typeLen);