Convert a use of sys::Path.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 20 Jun 2013 11:59:19 +0000 (11:59 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 20 Jun 2013 11:59:19 +0000 (11:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184412 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ar/llvm-ar.cpp

index 85f3517b58ad7f416c85d329a1c961bde0ebe66b..fa07b9a9ab8b373403276a6bbaec3b877ff364f4 100644 (file)
@@ -286,24 +286,18 @@ ArchiveOperation parseCommandLine() {
 // the operations that add/replace files to the archive ('q' and 'r')
 bool buildPaths(bool checkExistence, std::string* ErrMsg) {
   for (unsigned i = 0; i < Members.size(); i++) {
-    sys::Path aPath;
-    if (!aPath.set(Members[i]))
-      fail(std::string("File member name invalid: ") + Members[i]);
+    std::string aPath = Members[i];
     if (checkExistence) {
-      bool Exists;
-      if (sys::fs::exists(aPath.str(), Exists) || !Exists)
-        fail(std::string("File does not exist: ") + Members[i]);
-      std::string Err;
-      sys::PathWithStatus PwS(aPath);
-      const sys::FileStatus *si = PwS.getFileStatus(false, &Err);
-      if (!si)
-        fail(Err);
-      if (si->isDir)
-        fail(aPath.str() + " Is a directory");
-
-      Paths.insert(aPath.str());
+      bool IsDirectory;
+      error_code EC = sys::fs::is_directory(aPath, IsDirectory);
+      if (EC)
+        fail(aPath + ": " + EC.message());
+      if (IsDirectory)
+        fail(aPath + " Is a directory");
+
+      Paths.insert(aPath);
     } else {
-      Paths.insert(aPath.str());
+      Paths.insert(aPath);
     }
   }
   return false;