summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2011-06-01 15:14:36 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-06-01 15:14:36 -0700
commit1a536e642f5078167d18277c56f60090d8d46364 (patch)
tree2e9452c8f2287242e9b0eaaec04ca0055ad1c8e7 /libs
parentcb0975b3c1c73d8bcadaca80e1ee99383750af60 (diff)
parent75a99709accef8cf221fd436d646727e7c8dd1f1 (diff)
downloadframeworks_base-1a536e642f5078167d18277c56f60090d8d46364.zip
frameworks_base-1a536e642f5078167d18277c56f60090d8d46364.tar.gz
frameworks_base-1a536e642f5078167d18277c56f60090d8d46364.tar.bz2
Merge "Restore from a previous full backup's tarfile"
Diffstat (limited to 'libs')
-rw-r--r--libs/utils/BackupHelpers.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/utils/BackupHelpers.cpp b/libs/utils/BackupHelpers.cpp
index e15875f..f933199 100644
--- a/libs/utils/BackupHelpers.cpp
+++ b/libs/utils/BackupHelpers.cpp
@@ -503,6 +503,16 @@ int write_tarfile(const String8& packageName, const String8& domain,
needExtended = true;
}
+ // Non-7bit-clean path also means needing pax extended format
+ if (!needExtended) {
+ for (size_t i = 0; i < filepath.length(); i++) {
+ if ((filepath[i] & 0x80) != 0) {
+ needExtended = true;
+ break;
+ }
+ }
+ }
+
int err = 0;
struct stat64 s;
if (lstat64(filepath.string(), &s) != 0) {