diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-19 15:45:37 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-19 15:45:37 +0000 |
commit | 4d07abbb01b7bfc8e6e24ce07f2487803df50ea3 (patch) | |
tree | e2c87c02c38710dc98913172dc3daf7ae7709f5d /tools/llvm-ar/Archive.cpp | |
parent | 7c8397081c3d101fe467e8375601b091056465e0 (diff) | |
download | llvm-4d07abbb01b7bfc8e6e24ce07f2487803df50ea3.tar.gz llvm-4d07abbb01b7bfc8e6e24ce07f2487803df50ea3.tar.bz2 llvm-4d07abbb01b7bfc8e6e24ce07f2487803df50ea3.tar.xz |
Reduce sys::Path usage in llvm-ar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184315 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-ar/Archive.cpp')
-rw-r--r-- | tools/llvm-ar/Archive.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/tools/llvm-ar/Archive.cpp b/tools/llvm-ar/Archive.cpp index 3e9b9b2c25..9086d4e42e 100644 --- a/tools/llvm-ar/Archive.cpp +++ b/tools/llvm-ar/Archive.cpp @@ -33,7 +33,7 @@ ArchiveMember::getMemberSize() const { // If it has a long filename, include the name length if (hasLongFilename()) - result += path.str().length() + 1; + result += path.length() + 1; // If its now odd lengthed, include the padding byte if (result % 2 != 0 ) @@ -76,35 +76,35 @@ bool ArchiveMember::replaceWith(const sys::Path& newFile, std::string* ErrMsg) { } data = 0; - path = newFile; + path = newFile.str(); // SVR4 symbol tables have an empty name - if (path.str() == ARFILE_SVR4_SYMTAB_NAME) + if (path == ARFILE_SVR4_SYMTAB_NAME) flags |= SVR4SymbolTableFlag; else flags &= ~SVR4SymbolTableFlag; // BSD4.4 symbol tables have a special name - if (path.str() == ARFILE_BSD4_SYMTAB_NAME) + if (path == ARFILE_BSD4_SYMTAB_NAME) flags |= BSD4SymbolTableFlag; else flags &= ~BSD4SymbolTableFlag; // String table name - if (path.str() == ARFILE_STRTAB_NAME) + if (path == ARFILE_STRTAB_NAME) flags |= StringTableFlag; else flags &= ~StringTableFlag; // If it has a slash then it has a path - bool hasSlash = path.str().find('/') != std::string::npos; + bool hasSlash = path.find('/') != std::string::npos; if (hasSlash) flags |= HasPathFlag; else flags &= ~HasPathFlag; // If it has a slash or its over 15 chars then its a long filename format - if (hasSlash || path.str().length() > 15) + if (hasSlash || path.length() > 15) flags |= HasLongFilenameFlag; else flags &= ~HasLongFilenameFlag; @@ -113,9 +113,10 @@ bool ArchiveMember::replaceWith(const sys::Path& newFile, std::string* ErrMsg) { const char* signature = (const char*) data; SmallString<4> magic; if (!signature) { - sys::fs::get_magic(path.str(), magic.capacity(), magic); + sys::fs::get_magic(path, magic.capacity(), magic); signature = magic.c_str(); - const sys::FileStatus *FSinfo = path.getFileStatus(false, ErrMsg); + sys::PathWithStatus PWS(path); + const sys::FileStatus *FSinfo = PWS.getFileStatus(false, ErrMsg); if (FSinfo) info = *FSinfo; else |