summaryrefslogtreecommitdiffstats
path: root/libs/utils/BackupData.cpp
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-29 14:10:12 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-29 14:10:12 -0700
commitafa7d85b43c6c2058cbde61ff287ff5776d76d2a (patch)
tree2d57b589a728a3f836aa2f0bc70fa124f3a75861 /libs/utils/BackupData.cpp
parent1c3f760dcd4a4934e5197a23b76b296310f2259a (diff)
parent9bb8fd77c8dc177aab9ac96bed4f55972dcda70a (diff)
downloadframeworks_base-afa7d85b43c6c2058cbde61ff287ff5776d76d2a.zip
frameworks_base-afa7d85b43c6c2058cbde61ff287ff5776d76d2a.tar.gz
frameworks_base-afa7d85b43c6c2058cbde61ff287ff5776d76d2a.tar.bz2
Merge change 9008
* changes: Only restore the bits for wallpapers that aren't built in.
Diffstat (limited to 'libs/utils/BackupData.cpp')
-rw-r--r--libs/utils/BackupData.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/utils/BackupData.cpp b/libs/utils/BackupData.cpp
index c51d989..0cef35a 100644
--- a/libs/utils/BackupData.cpp
+++ b/libs/utils/BackupData.cpp
@@ -193,6 +193,7 @@ BackupDataReader::Status()
if ((actual) != (expected)) { \
if ((actual) == 0) { \
m_status = EIO; \
+ m_done = true; \
} else { \
m_status = errno; \
} \
@@ -222,7 +223,7 @@ BackupDataReader::ReadNextHeader(bool* done, int* type)
amt = skip_padding();
if (amt == EIO) {
- *done = true;
+ *done = m_done = true;
return NO_ERROR;
}
else if (amt != NO_ERROR) {
@@ -338,6 +339,10 @@ BackupDataReader::ReadEntityData(void* data, size_t size)
m_status = errno;
return -1;
}
+ if (amt == 0) {
+ m_status = EIO;
+ m_done = true;
+ }
m_pos += amt;
return amt;
}