diff options
author | Christopher Tate <ctate@google.com> | 2011-06-01 15:14:36 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-01 15:14:36 -0700 |
commit | 1a536e642f5078167d18277c56f60090d8d46364 (patch) | |
tree | 2e9452c8f2287242e9b0eaaec04ca0055ad1c8e7 /libs | |
parent | cb0975b3c1c73d8bcadaca80e1ee99383750af60 (diff) | |
parent | 75a99709accef8cf221fd436d646727e7c8dd1f1 (diff) | |
download | frameworks_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.cpp | 10 |
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) { |