Remove all uses of PATH_MAX and MAXPATHLEN from PathV2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128199 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/Unix/PathV2.inc b/lib/Support/Unix/PathV2.inc
index 03ff283..c9267c0 100644
--- a/lib/Support/Unix/PathV2.inc
+++ b/lib/Support/Unix/PathV2.inc
@@ -93,7 +93,8 @@
 namespace fs {
 
 error_code current_path(SmallVectorImpl<char> &result) {
-  result.reserve(MAXPATHLEN);
+  // Reserve an arbitrary amount of space.
+  result.reserve(128);
 
   while (true) {
     if (::getcwd(result.data(), result.capacity()) == 0) {
@@ -417,18 +418,13 @@
   }
 
    // Make the path absolute.
-  char real_path_buff[PATH_MAX + 1];
-  if (realpath(RandomPath.c_str(), real_path_buff) == NULL) {
-    int error = errno;
+  if (error_code ec = make_absolute(RandomPath)) {
     ::close(RandomFD);
     ::unlink(RandomPath.c_str());
-    return error_code(error, system_category());
+    return ec;
   }
 
-  result_path.clear();
-  StringRef d(real_path_buff);
-  result_path.append(d.begin(), d.end());
-
+  result_path = RandomPath;
   result_fd = RandomFD;
   return success;
 }